Summarize this documentation using AI
Overview
Triggers, filters, and frequencies in Customer.io are the controls that decide who enters a campaign, who gets excluded, and how often someone can receive messages. For D2C retention, that translates directly into revenue protection, fewer wasted sends, and cleaner measurement for key flows like abandoned checkout, post-purchase cross-sell, and winback.
If you want these controls to map cleanly to Shopify events, catalog data, and real merchandising logic, Propel can help you implement it end to end inside Customer.io, so campaigns behave like a system, not a collection of one-off automations. If you want help pressure-testing your entry rules and suppression logic, book a strategy call.
How It Works
Triggers, filters, and frequencies in Customer.io work together to control campaign entry and message eligibility, so the right shopper gets the right message at the right time.
Triggers are the entry point. They are typically event-based (like Checkout Started, Added to Cart, Order Placed) or segment-based (like “VIP customers” or “high-intent browsers”). When the trigger condition happens, the person becomes eligible to enter the campaign.
Filters are the bouncers at the door. They run at entry time (and sometimes at send time depending on how you structure your workflow) to exclude people who should not get the messages. In D2C, filters usually handle things like “already purchased,” “already recovered,” “has an open support issue,” “is suppressed from marketing,” or “is in another higher-priority journey.”
Frequencies are your guardrails. They cap how often a person can enter a campaign or receive messages from it, which is critical when events fire multiple times (multiple cart updates, multiple checkout attempts, repeat site sessions). Frequencies reduce fatigue and keep your deliverability and SMS compliance healthier over time.
In practice, you use these controls to make sure a shopper who starts checkout three times in a day does not get three identical SMS messages, and that someone who purchased five minutes ago does not keep getting “complete your order” emails. That is where Customer.io campaign hygiene turns into measurable lift.
Step-by-Step Setup
Triggers, filters, and frequencies in Customer.io are easiest to set up when you start from the business outcome (recover revenue, increase AOV, drive second purchase) and then work backwards into entry rules.
- Pick one core event trigger tied to revenue. Example: “Checkout Started” for abandonment, “Order Placed” for post-purchase, “Product Viewed” for discovery.
- Define the minimum data you need on the trigger. For checkout recovery, pass cart items, cart value, currency, and a checkout URL. For post-purchase, pass order items, discount codes used, and shipping method (useful for timing and messaging).
- Set entry filters that prevent obvious misfires. Common ones: exclude if “has purchased since checkout started,” exclude if “email is missing,” exclude if “SMS consent is false,” exclude if “is suppressed/unsubscribed.”
- Add intent filters to protect margin and relevance. Examples: only target carts above a threshold (like $50), only target categories where you can afford incentives, or exclude SKUs that are final sale.
- Configure frequencies based on how your shoppers behave. For checkout recovery, limit entry to once per X hours or once per day. For browse abandonment, cap more aggressively since it can fire constantly.
- Decide where filters should be re-checked. Put a “purchase happened” check right before each send, not only at entry. This is how you stop the classic issue of sending an abandonment email after the customer already paid.
- QA with real edge cases. Test: multiple checkouts in a day, discount applied then removed, partial payment methods, and customers who place an order from another device.
When Should You Use This Feature
Triggers, filters, and frequencies in Customer.io matter most when your campaigns are tied to fast-moving shopper behavior and you need to avoid double-sending or targeting the wrong cohort.
- Abandoned checkout recovery: Trigger on checkout start, filter out purchasers, frequency-cap to prevent multiple entries from cart updates.
- Cart recovery with incentives: Filter to only include carts above your margin threshold, or exclude customers who used a discount in the last X days.
- Post-purchase cross-sell: Trigger on order placed, filter based on what they bought (exclude if they already purchased the companion product), frequency-cap to avoid stacking with review requests and shipping updates.
- Product discovery journeys: Trigger on category view or product view, filter to exclude recent purchasers of that category, cap frequency hard to avoid “creepy” over-targeting.
- Reactivation: Trigger on “entered lapsed segment,” filter out anyone with an open order or recent support ticket, frequency-cap to avoid weekly winback spam.
Operational Considerations
Triggers, filters, and frequencies in Customer.io only perform well when your data and orchestration rules are consistent across channels.
- Event naming and consistency: If “Checkout Started” is sometimes fired on cart view, your trigger will inflate, and your recovery metrics will look worse than reality. Align event definitions with your dev team or integration source.
- Purchase suppression needs to be near real-time: Checkout recovery depends on fast “Order Placed” updates. If order events arrive late, rely on additional signals like “order_id exists” or “last_purchase_at updated” before sends.
- Segment-based filters should be stable: If your “VIP” segment is recalculated infrequently, you may mis-route people into the wrong incentive path. Prefer event-driven attributes when possible.
- Cross-campaign prioritization: Decide what wins when a customer qualifies for multiple campaigns (checkout recovery vs browse abandonment vs post-purchase). Use filters to suppress lower-priority journeys once a higher-priority trigger happens.
- Frequency caps should reflect channel risk: SMS and push need tighter caps than email. In retention programs we have implemented for D2C brands, the fastest way to tank SMS performance is letting high-frequency events create repeated sends in the same day.
Implementation Checklist
Triggers, filters, and frequencies in Customer.io are easiest to operationalize when you treat them like a launch gate, not a final polish step.
- Trigger is tied to a measurable revenue outcome (checkout started, order placed, lapsed segment entry)
- Trigger payload includes the data needed for personalization (items, value, URL, category, discount eligibility)
- Entry filters block purchasers, suppressed profiles, and missing channel permissions
- Pre-send checks exist before each message for “already purchased” and “already converted”
- Frequency caps are set per campaign and reflect channel risk (tighter for SMS)
- Conflicts with other campaigns are handled (priority rules and suppressions)
- QA covers edge cases (multiple sessions, multiple carts, coupon changes, device switching)
- Reporting plan is defined (conversion window, goal event, holdout if needed)
Expert Implementation Tips
Triggers, filters, and frequencies in Customer.io get you the biggest lift when you design them around shopper intent and operational reality, not just “send a message when X happens.”
- Use a single “source of truth” for conversion suppression. If you suppress based on both “Order Placed event” and “last_purchase_at attribute,” pick one as primary and keep it consistent. Mixed logic creates gaps where people slip through.
- Build frequency around behavior, not calendar time alone. For checkout recovery, cap entries based on the checkout identifier when possible (so one checkout attempt equals one journey). If you only cap per day, a shopper can still get multiple sequences across devices or sessions.
- Filter incentives with discipline. In retention programs we have implemented for D2C brands, the best-performing discount flows are the ones that only show incentives after a no-discount touch fails, and only for cohorts where margin can support it. You enforce that with filters plus branching logic.
- Re-check inventory-sensitive products. If you sell fast-moving SKUs, add a pre-send check to avoid driving customers back to an out-of-stock item. Even a simple “in_stock = true” attribute or object lookup can prevent wasted clicks and frustration.
Common Mistakes to Avoid
Triggers, filters, and frequencies in Customer.io can quietly leak revenue when teams ship quickly and skip the boring guardrails.
- Only filtering at entry: People purchase after entering the campaign. If you do not re-check before sending, you will send abandonment messages to buyers.
- No frequency cap on high-volume events: Browse and cart events fire constantly. Without caps, you create message storms and inflate unsubscribe rates.
- Over-filtering too early: If you filter out everyone who used a discount in the last 30 days, you might remove a profitable cohort that still responds well to non-discount messaging. Start with lighter filters, then tighten based on results.
- Ignoring campaign collisions: A customer can be in post-purchase and winback logic at the same time if your segments are not mutually exclusive. Add suppressions and clear priority rules.
- Using generic triggers without context: Triggering on “page viewed” without category, product, or intent thresholds usually creates noise, not revenue.
Summary
Use triggers, filters, and frequencies when you need clean campaign entry, tight suppression, and controlled message volume. They are the difference between a checkout recovery program that prints revenue and one that annoys recent buyers. Implement them carefully in Customer.io and your segmentation and reporting get easier too.
Implement with Propel
Propel helps D2C teams operationalize Customer.io triggers, filters, and frequency rules across email and SMS so your highest-intent journeys run cleanly at scale. book a strategy call.