Summarize this documentation using AI
Overview
If you’re already segmenting buyers and shoppers inside Customer.io, Criteo Audiences is the clean way to push those segments into paid retargeting without rebuilding logic in your ad account. When you want help mapping your retention segments to Criteo activation (and avoiding the usual identity and timing issues), book a strategy call and we’ll pressure-test the data flow before you spend.
In most retention programs, this is less about “running ads” and more about amplifying the journeys you already run—cart recovery, browse recovery, replenishment, and winback—by making sure Criteo is always targeting the same people (and excluding the same people) as Customer.io.
How It Works
At a practical level, you’re taking a Customer.io segment (dynamic, always updating) and syncing membership to Criteo as an audience. Criteo then uses that audience to include/exclude people from campaigns, so your paid retargeting stays aligned with your retention rules.
- Source of truth: Customer.io segments define who should be in the audience (e.g., “Added to cart in last 4 hours, no purchase”).
- Identity matching: The sync relies on identifiers that exist in both systems (commonly email; sometimes phone or other IDs depending on your setup). If the identifier isn’t present or formatted inconsistently, match rates drop and your audience under-populates.
- Two-way reality: This is a data out motion—Customer.io is sending membership changes to Criteo. Criteo performance data doesn’t automatically flow back unless you wire it separately (don’t assume you’ll be able to attribute inside Customer.io without extra work).
- Timing matters: Segment evaluation + sync cadence introduces lag. For cart recovery, that lag can be the difference between catching someone while intent is hot vs. paying to chase them after they’ve already bought.
Real D2C scenario: You run a 3-step cart abandonment flow (email at 1 hour, SMS at 4 hours, incentive at 20 hours). With Criteo Audiences, you also push “Cart Abandoners (0–24h)” into Criteo and exclude “Purchased in last 24h.” Net effect: ads reinforce the same offer window as your owned messaging, and you stop paying to retarget people who already converted from email/SMS.
Step-by-Step Setup
Before you touch the integration, get clear on the segments you actually want to pay to amplify. The best Criteo audiences are high-intent and time-bounded—otherwise you end up with bloated pools that burn budget and muddy incrementality.
- Confirm your identifiers in Customer.io. Make sure every profile you expect to sync has the identifier Criteo will match on (typically email). Audit for blanks, typos, and casing/format differences.
- Build (or refine) the Customer.io segment. Use event recency and exclusion logic that matches your retention intent, like:
- Added to Cart within last 4 hours
- AND Not Purchased within last 24 hours
- AND Not Suppressed / Not Unsubscribed (depending on policy)
- Create the Criteo Audiences connection (Data Out). In Customer.io, add the Criteo Audiences integration from the integrations directory and authenticate with the Criteo account that will own the audiences.
- Map the segment to a Criteo audience. Choose the segment, select/create the destination audience in Criteo, and confirm which identifier field is being sent.
- Set up an exclusion audience alongside your inclusion audience. At minimum, maintain “Recent Purchasers” and “High-return/refund risk” (if relevant) as exclusions so you don’t waste spend or create bad CX.
- Validate population and match rate. After the first sync window, compare Customer.io segment size vs. Criteo audience size. Expect some drop, but if it’s dramatic, it’s almost always identity/formatting.
- Operationalize in Criteo. Attach the audience to the right campaigns (retargeting, dynamic product ads, suppression lists) and align the ad rules with your journey timing (0–4h, 4–24h, 2–7d, etc.).
When Should You Use This Feature
Criteo Audiences makes sense when you already have reliable behavioral data in Customer.io and you want paid media to follow the same retention logic. It’s especially useful when intent decays quickly or when you need strict suppression to avoid annoying customers post-purchase.
- Cart recovery amplification: Sync “Cart Abandoners by time window” so ads mirror your email/SMS cadence and offers.
- Browse recovery without over-targeting: Push “Viewed product 2+ times in 3 days, no add-to-cart” and keep it tight to avoid paying for low-intent impressions.
- Reactivation: Build “Lapsed 60–120 days, previously 2+ orders” and run a winback ad set while Customer.io runs the owned winback sequence.
- Post-purchase suppression: Exclude “Purchased in last 7 days” from prospecting/retargeting to reduce wasted spend and prevent mismatched messaging (e.g., showing “10% off your first order” to a repeat buyer).
- VIP protection: Exclude VIPs from aggressive discounting audiences, while still allowing non-discount creative (new arrivals, early access) if you want.
Operational Considerations
This is where most teams get tripped up: the segment logic is easy, but the orchestration between owned + paid—and the realities of data freshness—determine whether this drives incremental repeat purchases or just moves attribution around.
- Segmentation design: Keep audiences mutually exclusive where possible (e.g., “0–4h abandoners” vs “4–24h abandoners”) so you can control creative and bids without overlap.
- Data flow latency: Plan for delay between event → segment qualification → audience update. For extremely time-sensitive windows (like 15–30 minutes), owned channels will usually outperform; use Criteo for the 1–72 hour band where ads can still work.
- Suppression is a retention lever: Your best “audience” is often the one you exclude. Always maintain recent purchasers, recent subscribers (to avoid welcome offer conflicts), and customer support edge cases (chargebacks, fraud flags) if you track them.
- Orchestration with journeys: In practice, this tends to break when email/SMS offers diverge from ad offers. Decide the offer policy first (e.g., “no discount until touch #3”) and enforce it across both.
- Measurement expectations: Customer.io will tell you who entered a segment/journey; Criteo will tell you ad outcomes. If you care about incrementality, set up holdouts (in Customer.io segments or Criteo experiments) rather than trusting blended ROAS.
Implementation Checklist
If you want this to work reliably week after week, treat it like a data product: clear definitions, stable identifiers, and a simple audience taxonomy your team won’t “fix” every Friday.
- Identifier chosen and audited (email/phone) with consistent formatting
- Core inclusion audiences defined (cart, browse, lapsed, replenishment)
- Core exclusion audiences defined (recent purchasers, VIPs, suppressed/support edge cases)
- Audience windows documented (0–4h, 4–24h, 2–7d, etc.)
- Sync validated: Customer.io segment counts vs. Criteo audience counts
- Criteo campaigns mapped to each audience + correct exclusions applied
- Offer policy aligned across owned + paid
- Holdout or experiment plan in place for incrementality
Expert Implementation Tips
The biggest wins come from making your audiences more “operational” than “descriptive.” Tight windows, clean exclusions, and clear intent signals beat giant pools every time.
- Build time-sliced audiences: Instead of one “Cart Abandoners,” create 0–4h, 4–24h, and 2–7d. You’ll control urgency, creative, and discounting without guesswork.
- Use Customer.io as the suppression brain: When someone purchases, let Customer.io immediately qualify them into “Recent Purchasers” so Criteo stops spending even if the ad platform’s own purchase signal lags.
- Separate discount seekers from full-price buyers: If you track promo usage, create an audience like “Purchased with discount 2+ times” and treat them differently in winback (otherwise you train everyone to wait).
- Align creative to journey stage: Early cart retargeting should mirror what your email says (benefits, reviews, shipping/returns). Save incentives for later windows if that’s your retention strategy.
Common Mistakes to Avoid
Most failures aren’t technical—they’re operational. The integration “works,” but the audience strategy quietly wastes budget or creates a messy customer experience.
- Syncing giant, vague segments: “All site visitors 30 days” usually turns into expensive noise and weak incremental lift.
- No purchase suppression: Retargeting recent buyers is one of the fastest ways to burn spend and trigger support tickets (“Why am I still seeing this?”).
- Offer mismatch across channels: Email says “10% ends tonight,” ads show “15% today only,” and customers learn to ignore owned messaging.
- Ignoring match rate: If your Criteo audience is tiny compared to Customer.io, don’t assume “Criteo is broken.” It’s almost always missing/dirty identifiers.
- No holdouts: Without a control group, you’ll over-credit ads for conversions that would have happened via email/SMS anyway.
Summary
Criteo Audiences is worth it when you want paid retargeting to follow the same retention logic you’ve already built in Customer.io. Keep audiences tight, prioritize suppression, and measure with holdouts so you’re buying incremental repeat purchases—not just louder attribution.
Implement Criteo Audiences with Propel
If you’re already running retention out of Customer.io, the fastest path is usually: define 6–10 high-intent audiences, lock your suppression rules, then map them to Criteo campaigns with clear time windows and offer policy. If you want an operator’s second set of eyes on your segment definitions, match rate risks, and orchestration plan, book a strategy call—we’ll help you get to a setup that’s stable enough to scale spend without breaking CX.