Loading tutorials…
Loading tutorials…
Drip's segmentation model — Lookups (saved queries) + Tags (labels) + custom fields — is more flexible than Mailchimp but trickier than Klaviyo. Done right, it powers every Workflow and Broadcast you'll send for years. Done wrong, it becomes a 4,000-tag mess no one can untangle.
Who this is forDrip operators who have basic Workflows running and now need to segment Broadcasts, build VIP flows, or target lapsed customers. If your Drip account is over 6 months old and you have more than 50 tags, the segmentation system probably needs a cleanup.
What you'll need
Step 1
Before building anything: Lookups = dynamic queries, Tags = static labels, Custom Fields = per-person data points. Get the mental model right and you avoid 80% of segmentation mistakes.
Lookups (Drip's name for dynamic segments): a saved query that re-runs every time you reference it. Example: "Subscribers who opened an email in the last 30 days." Membership is computed on the fly; people enter and leave automatically. Use Lookups for time-windowed behavior, engagement, and any criteria that changes over time.
Tags: static labels you apply manually or via Workflow actions. Example: `vip`, `wholesale`, `welcome-completed-v1`. Once a tag is applied, it stays until you remove it. Use Tags for permanent attributes, Workflow tracking, and audit history.
Custom Fields: per-person data points like `birthday`, `favorite_color`, `industry`, `referral_source`. Use Custom Fields for personalization data and for queries that need a specific value (not just yes/no).
The mental rule: if the answer to "should this person be in this group?" changes over time, use a Lookup. If the answer is permanent or based on a deliberate choice, use a Tag.
Document this rule for your team in your Drip notes. Future operators (or future you) will tag things wrong without a written rule.
Step 2
Engagement-based Lookups are the foundation of every Workflow filter and Broadcast send list. Build these five before doing anything else.
Lookup 1 — `engaged-30d`: 'Has opened OR clicked any email in the last 30 days.' This is your active list. Use it as a Broadcast send filter to protect deliverability.
Lookup 2 — `engaged-90d`: same rule, 90-day window. Use for promotional Broadcasts (wider audience, lower engagement filter).
Lookup 3 — `unengaged-180d`: 'Has NOT opened or clicked in 180 days.' Use as a sunset filter — these subscribers are dragging down sender reputation. Send a re-permission Broadcast, then suppress those who don't re-engage.
Lookup 4 — `customers`: 'Has placed at least 1 order, ever.' Foundational for separating customer vs prospect Workflows.
Lookup 5 — `repeat-customers`: 'Has placed 2 or more orders, ever.' Use for VIP and loyalty Workflow targeting.
Each Lookup: People → Lookups → New Lookup → name with lowercase-hyphenated convention → add the rule → Save. Drip computes the Lookup count instantly so you can see how many people it matches before you save.
Step 3
RFM identifies your highest-value customers and your at-risk customers. Build 3 RFM Lookups; everything else (loyalty Workflows, win-back, VIP early-access) flows from them.
Lookup `vip-high-ltv`: 'Has placed lifetime order value > $X' where $X is the top-20% threshold of your customer base. Pull this from Shopify Analytics → Customers → average lifetime value, then take the 80th percentile. Most DTC stores: $250-500 lifetime value.
Lookup `at-risk-customers`: 'Has placed an order, AND last order was more than 90 days ago, AND has 2+ orders.' These are loyal customers slipping away — the win-back Workflow targets this Lookup.
Lookup `new-customers`: 'Has placed exactly 1 order, AND first order was in the last 30 days.' These are the prime targets for the post-purchase repeat-nudge Workflow.
Combining RFM with engagement: a Broadcast targeting `engaged-30d` AND `vip-high-ltv` is your VIP-only promo audience. A Broadcast targeting `engaged-90d` AND NOT `customers` is your prospect-nurture audience.
Drip Lookups support boolean combination (AND, OR, NOT) at query time, so you don't need to pre-build every combination as a separate Lookup. Build the building blocks; combine at send time.
Step 4
Tags are easy to create and impossible to clean up later. Define your tag categories and naming conventions BEFORE applying any tag in a Workflow.
Decide on tag categories. Recommended structure: (1) `consent-*` for compliance state (`consent-double-optin`, `consent-sms-optin`), (2) `interest-*` for opt-in interest groups (`interest-skincare`, `interest-supplements`), (3) `workflow-*` for Workflow completion tracking (`workflow-welcome-completed-v1`), (4) `source-*` for acquisition source (`source-instagram-ad`, `source-organic-search`), (5) `flag-*` for manual operator flags (`flag-do-not-send`, `flag-wholesale`).
Naming convention: lowercase, hyphenated, prefix-grouped. Examples: `consent-double-optin`, NOT `Double Opted In` or `DoubleOptedIn` or `double_optin`. Consistency matters more than which style you pick.
Add a version suffix to Workflow-completion tags: `workflow-welcome-completed-v1`. When you rebuild the Workflow later as v2, you can A/B test cleanly by targeting tag = v1 vs v2.
Document the taxonomy in a Notion or doc page. Pin it to the team. Future operators (or future you) will create one-off tags within 90 days without a documented standard.
Audit existing tags monthly for the first 6 months. Delete tags applied to fewer than 5 people. Merge near-duplicates (`vip-customers` and `vip-customer` are the same intent).
Step 5
Custom Fields hold per-person data: birthday, location, industry, referral source. Use them for personalization merge tags in emails and as Lookup filter criteria.
In Drip → People → Custom Fields → New Custom Field. Add the fields your brand needs: `birthday`, `industry`, `company_size`, `referral_source`, `preferred_category`.
Choose the right field type: text for free-form, number for numeric (lifetime spend), date for time-based (birthday), boolean for yes/no flags. Picking the wrong type is annoying to fix later.
Wire custom fields to data sources. Birthday from your signup form. Industry from Shopify checkout custom fields. Referral source from URL parameters (utm_source) captured by the Drip JS pixel.
Use custom fields in email merge tags: `Happy birthday, {{ subscriber.first_name }}!` requires `first_name` (standard) and a birthday-triggered Workflow that uses the `birthday` custom field.
Don't over-engineer custom fields on day one. Add them as personalization needs arise; resist the urge to capture 30 fields 'just in case.' Drip's UI gets cluttered fast with unused fields.
Step 6
Suppression Lookups protect deliverability by excluding bad-fit subscribers from sends. Build these and reference them in every Broadcast.
Lookup `suppression-do-not-send`: 'Has tag `flag-do-not-send`.' Manual flag for support escalations, refund requests, anyone who's emailed asking to be paused.
Lookup `suppression-recent-purchaser`: 'Has placed an order in the last 3 days.' Filter promotional Broadcasts to exclude — they don't need 'last chance 20% off' on the day they bought.
Lookup `suppression-low-engagement-cold`: 'Subscribed more than 90 days ago AND has never opened.' These will never convert and they damage sender reputation. Either send them a re-permission campaign and suppress non-responders, or just suppress them outright.
In every Broadcast send: send to `engaged-90d` MINUS `suppression-do-not-send` MINUS `suppression-recent-purchaser`. Drip's Broadcast composer lets you stack these filters at send time.
Operating with suppression Lookups in place is the difference between 28% open rate and 14% open rate over 6 months. Sender reputation rewards clean sends.
Common mistakes
Using Tags for time-windowed behavior
What goes wrong: Tagging someone `engaged-this-week` makes the tag permanently wrong by next week. By month 6, you have a tag library full of stale labels and no way to query 'currently engaged.' Workflow targeting breaks silently; Broadcasts go to subscribers tagged as engaged 18 months ago.
How to avoid: Use Lookups for ANY behavior that changes over time (engagement, recency, last order date). Use Tags only for permanent attributes (VIP status, consent state, opt-in interest categories).
No tag naming convention
What goes wrong: Within 6-12 months you'll have variants like `VIP Customer`, `vip-customer`, `VIPCustomer`, `vip_customer`, all referring to the same group. Workflow filters miss subscribers because they have one variant but not another. Loses 5-15% of intended Workflow audience.
How to avoid: Pick a convention (lowercase-hyphenated-prefix-grouped) and document it. Audit existing tags monthly and merge variants. Apply convention via Workflow actions, never manually.
No suppression for unengaged subscribers
What goes wrong: Sending to subscribers who haven't opened in 180+ days drags down sender reputation. Inbox placement drops from 90% to 70-75% within 90 days. Open rate on engaged subscribers drops from 28% to 18% because Gmail/Outlook now route your domain to Promotions more aggressively.
How to avoid: Build `suppression-low-engagement-cold` Lookup. Send a re-permission Broadcast asking them to confirm interest. Suppress non-responders. Expect to lose 30-50% of inactive list — sender reputation makes it worth it.
Over-fragmenting VIP into 7+ tiers
What goes wrong: Operations overhead exceeds revenue lift. Specialists spend more time maintaining the segmentation than building Workflows. Most micro-tiers have under 50 subscribers, which is too small for stat-sig testing.
How to avoid: Max 2-3 VIP tiers (e.g., `vip-bronze` for $250+ LTV, `vip-gold` for $750+ LTV). Combine with engagement Lookups at send time for finer targeting without permanent segmentation overhead.
Custom fields created and never populated
What goes wrong: Email merge tags reference `{{ subscriber.industry }}` which is null for 90% of profiles. Emails render with blank or 'Hi there, our [empty] industry tip is...' Looks broken, costs trust.
How to avoid: Audit custom fields quarterly. Either populate the field from a real data source (form, integration, custom field on checkout), or delete the field. Use `{{ subscriber.industry | default: 'your industry' }}` fallbacks in merge tags as a safety net.
Recap
Done — what's next
How to send Drip Broadcasts that hit the inbox and convert
Read the next tutorial
Hand it off
Clean segmentation is the difference between a Drip account that scales for years and one that gets re-platformed because 'we can't figure out who's in what.' A specialist who's audited 30+ Drip accounts will design the taxonomy, build the foundational Lookups, and document it for your team in 4-6 hours at $14-16/hr — usually $250-500 total. The cost of NOT doing this is a 4-8 hour cleanup engagement six months later.
See specialist rates
A Lookup is a saved dynamic query — membership is computed on the fly every time it's referenced. Example: "subscribers who opened in last 30 days" auto-updates as people open or stop opening. A Tag is a static label applied manually or by Workflow — it stays until removed. Use Lookups for time-windowed behavior; Tags for permanent attributes or Workflow tracking.
Most healthy DTC Drip accounts have 30-60 tags total. Above 100, you're probably tagging things that should be Lookups. Above 200, the account needs a cleanup. Audit monthly: any tag with fewer than 5 people is probably dead; merge tag variants (same intent, different spelling) ruthlessly.
Yes — Drip supports 'Subscriber matches Lookup X' as a Workflow trigger. This is useful for time-based Workflows like 'send a re-engagement Workflow when someone first matches the `unengaged-180d` Lookup.' Caveat: Lookup-triggered Workflows can fire repeatedly if a subscriber drops in and out of the Lookup, so add an exit condition or completion tag to prevent re-triggering.
Map each Mailchimp Group to either a Drip Tag (for opt-in interest groups like skincare/makeup) or a Drip Lookup (for behavioral groups like 'engaged in last 30 days'). Most Mailchimp groups are interest categories — use Tags. Behavioral groups become Lookups. There's no automated migration — you'll re-build the structure in Drip.
Drip Lookups re-compute on access, but there's a small caching window (typically 5-15 minutes for active accounts) to prevent overloading the database. If you just added a tag or completed an event, wait 15 minutes before checking the Lookup count. For Workflow filter logic, Lookups are evaluated fresh each time a subscriber hits the filter — no caching issues there.
One workspace per brand if the brands have separate sending domains, separate customer bases, or different products. One workspace can serve multiple shopify stores under one brand. Cross-workspace segmentation isn't supported, so if you need a 'cross-brand VIP' segment, you need a single workspace with brand tags.
Drip
Broadcasts are Drip's one-time email campaigns (vs Workflows which are automated). Most DTC stores send 4-8 Broadcasts/month and get 15-25% of email revenue from them. A well-segmented Broadcast at the right send time hits 30%+ open rate. A bad one tanks deliverability for everything else.
Drip
Welcome Workflows are typically 30-45% of automated email revenue in a healthy Drip account. A bad welcome Workflow leaves 60% of that on the table. This is the build that captures it — trigger, delays, copy structure, exits, and validation.
Drip
Post-purchase is the most underbuilt Workflow in DTC email. Stores that nail it lift repeat-purchase rate 15-25% and recover 3-5% of revenue from reviews and referrals. The Workflow takes 2 hours to build and runs forever.
Drip
Drip deliverability problems silently bleed revenue. Open rates drop from 28% to 16%, you think the audience is 'fatigued,' but the real issue is Gmail's been routing you to Promotions for 60 days. This is the systematic diagnostic that finds the actual problem.
Klaviyo
Most stores send to 'everyone who bought.' That's a list, not a segment. RFM + Predictive CLV segmentation is what separates email-as-newsletter from email-as-channel — typically 15-30% revenue lift on the same list.