• segments
  • targeting

Segment Users Without SQL: Marketers Build the Audience

Stop asking a developer for a list every campaign. Pick the users you want to reach yourself.

Thumbnail showing a segment builder that combines conditions for precise targeting

Every campaign starts with the same back-and-forth. A marketer writes up the audience: "people who added to cart last week but never checked out." A developer turns that into SQL, runs it, and pulls a list. The marketer takes the list and loads it into the sending tool. Change one line, or want a different audience, and the whole loop starts over.

Segments move that extraction onto the marketer's screen. Instead of requesting a list, you click filters and pick the users you want to reach.

One SQL query, a few filters

Say you want users who added 50,000 KRW or more to their cart at least three times in the last 7 days. A developer would write something like this.

SELECT u.id
FROM users u
JOIN events e ON e.user_id = u.id
WHERE e.name = 'add_to_cart'
AND e.created_at >= NOW() - INTERVAL '7 days'
AND (e.properties ->> 'amount')::int >= 50000
GROUP BY u.id
HAVING COUNT(*) >= 3;

Writing the query, reviewing it, pulling the list, handing it to the sending tool: that repeats every campaign. Even dropping the threshold from 50,000 to 30,000 means another request.

In the segment filter builder you click the same thing. Pick the add_to_cart event, set the window to the last 7 days, the count to 3 or more, and add a sub-condition of amount over 50,000 KRW. Changing 50,000 to 30,000 is editing one value.

Segment filter builder screen combining AND and OR conditions
Segment filter builder

What you can split by

The criteria fall into two groups: users and devices. On the user side you have user ID, birthday and age, country and language, phone number, SMS opt-out status, last visit time, whether a specific event happened, and connected tag values. On the device side you have platform, OS version, app version, SDK version, web browser, country, and language. Versions take numeric comparison too, so you can pull only users on an app version below 2.5.0 and nudge them to update.

You overlap these segment filters freely. AND keeps only users who match every condition, narrowing the range. OR lets in anyone who matches one, widening it. Overlap "no visit in 14 days" with "VIP membership tier" and you isolate the high-tier users who have gone quiet.

Targeting by timing

What makes segments strong is the tag operators. Beyond equals and not-equals, you get numeric comparisons and time conditions. The time conditions earn their keep when timing is the whole point.

Tag filter operator selection screen for classifying device and user segments
Tag filter operators

One time operator filters by how much time is left from now. Store an expiry date as a tag, points about to lapse or a coupon deadline, and you can pull users whose expiry falls within the next 72 hours with "N hours remaining," then send a reminder. Set "last visit time" to no visit in 7 days and you catch dormant users. Overlap the two and you are left with users whose perk is about to vanish but who have stopped showing up, the ones worth one more reminder before it is gone.

Two audiences in one segment

You can join AND groups together with OR. That means two different audiences in a single segment. Take win-back. A VIP who goes quiet for 30 days is worth chasing, but a regular member you usually watch for 60. Group it as "(VIP tier AND no visit in 30 days) OR (regular tier AND no visit in 60 days)" and two dormant groups with different thresholds go out in one campaign.

A segment built this way is not only for one-off sends. Set "no visit in 7 days" as a journey's entry condition and users who enter that state flow in automatically, no fresh list each time.

Split the audience accurately and response and conversion shift. McKinsey finds personalization usually lifts revenue 10-15%, and that lift starts with deciding who you send to.

Which combination to start with depends on your data. If you want to pick the highest-priority segments together, you can request that below.

Which audience to pull first?

Tell us the user and event data you have, and we'll help prioritize which segments to build.

Contact us

FlareLane

FlareLane

Contents Team, FlareLane (FlareLabs, Inc.)

Written by people who've actually run CRM marketing and growth, not just written about it.


FlareLane is a CRM marketing solution that automatically delivers push, SMS, KakaoTalk, and in-app/in-web messages aligned with each customer's behavior and journey. From startups to enterprises, we help everyone design and run hyper-personalized marketing and customer journey automation with ease.

Frequently asked questions

Once I build a segment, is the audience list frozen?

No. A segment stores conditions, not a list, so each send re-resolves the users who match at that moment. You don't refresh anything: users who newly qualify come in, and those who no longer match drop out.

What exactly is a tag in a segment?

It's an attribute value you attach to a user, like tier, interest category, or coupon expiry date. Where an event records what a user did, a tag describes the state they're in now. Segments compare these tag values with number and time operators to filter the audience.