Events in Customer.io

Customer.io partner logo

Table of Contents

Summarize this documentation using AI

This banner was added using fs-inject

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Overview

Events in Customer.io are the behavioral signals that turn your store activity into revenue-driving journeys, things like Product Viewed, Added to Cart, Checkout Started, and Order Completed. In a D2C program, events are how you stop guessing and start reacting to intent in real time, so you can recover carts, push product discovery, and increase repeat purchase with tighter timing.

If you want help standardizing your event taxonomy and wiring it into high-performing flows, Propel can pressure test your tracking plan and orchestration fast, book a strategy call. We implement these programs directly in Customer.io.

How It Works

Events in Customer.io work by sending a named action (the event) plus optional properties (the payload) tied to a specific person, then using those events to trigger campaigns, build segments, and measure conversions.

In practice, your site and apps send events as shoppers move through discovery and checkout. Customer.io stores the event history on the customer profile, then you use it in three core ways:

  • Trigger journeys: enter a flow when an event happens (example: Added to Cart starts cart recovery).
  • Filter and branch: use event properties to decide who gets what (example: cart_value > 75 gets SMS sooner).
  • Personalize messages: use payload data in templates (example: insert the exact product name, image, size, and price).

Most D2C teams get the best results when they treat events as the source of truth for intent, and reserve attributes for slower-changing facts like VIP tier or acquisition source. If you are building in Customer.io, that distinction keeps segmentation clean and journeys predictable.

Step-by-Step Setup

Events in Customer.io setup is mostly about getting the right event names, payloads, and identity rules in place before you build flows.

  1. Define your revenue-critical event list. Start with the minimum that powers core D2C journeys: Product Viewed, Collection Viewed (optional), Added to Cart, Checkout Started, Payment Info Added (optional), Order Completed, Order Refunded, Subscription Created (if applicable).
  2. Standardize event naming. Pick a naming convention and stick to it (Title Case or snake_case). Consistency matters more than style. Avoid near-duplicates like “AddToCart” vs “Added to Cart”.
  3. Design payloads for merchandising and logic. For commerce events, include properties you will actually use: product_id, variant_id, sku, product_name, category, price, quantity, currency, image_url, url, cart_value, cart_items (array), discount_code, and inventory_status (if you plan scarcity messaging).
  4. Confirm identity rules. Make sure events attach to the right person. If shoppers browse anonymously before entering email or phone, plan for anonymous activity merging so browse and cart intent are not lost when they identify at checkout or pop-up.
  5. Send events from the right sources. Web events should fire client-side or server-side depending on reliability needs. In retention programs we’ve implemented for D2C brands, server-side Order Completed is worth the extra effort because it prevents missed post-purchase flows and broken revenue attribution.
  6. Validate in a test environment. Use internal profiles and place test orders. Check that events show up with correct timestamps, correct payloads, and no duplicates.
  7. Build one journey per intent cluster. Start with Cart Abandonment and Post-Purchase, then add Browse Abandon and Reactivation. Do not try to launch everything at once if tracking is still stabilizing.

When Should You Use This Feature

Events in Customer.io are the right tool when you need messaging to respond to shopper intent, not just static segments.

  • Abandoned cart recovery: trigger when Added to Cart or Checkout Started happens, then suppress if Order Completed arrives.
  • Browse abandon product discovery: trigger on Product Viewed with no cart event, then recommend bestsellers in the same category or recently viewed items.
  • Post-purchase cross-sell: trigger on Order Completed, branch by product_type to recommend complementary items (example: cleanser buyers get moisturizer 10 days later).
  • Reactivation: trigger when a customer has no Product Viewed or Order Completed events for 60 days, then reintroduce new arrivals and category-specific offers.
  • Customer lifetime value lift: use events to detect high intent (multiple product views, repeat add-to-cart behavior) and accelerate offers or concierge-style SMS.

Realistic scenario: A skincare brand sees lots of mobile traffic and high add-to-cart rates but low checkout completion. They trigger a cart recovery flow on Added to Cart, then branch based on cart_value and whether Checkout Started fired. If Checkout Started happened, they lead with reassurance (shipping, returns, ingredients). If not, they lead with product education and UGC, because the shopper is still deciding.

Operational Considerations

Events in Customer.io only perform as well as the operational discipline behind them, especially around data flow, orchestration, and suppression logic.

  • Deduplication: Commerce platforms sometimes fire multiple Added to Cart events for quantity changes. Decide whether you want every change or only the latest cart state, then implement dedupe rules upstream or with journey logic.
  • Event timing and delays: Cart recovery works because timing is tight. If your event pipeline delays events by 20 minutes, your first message may arrive after the purchase or after intent cools.
  • Suppression and exit conditions: Always wire Order Completed as an exit condition for pre-purchase flows. Also suppress if the customer enters a support or refund state to avoid tone-deaf messaging.
  • Cross-channel orchestration: Coordinate email, SMS, and push using the same event triggers, but stagger by channel. SMS should typically be reserved for higher intent signals (Checkout Started, high cart value, repeat abandon behavior).
  • Payload governance: Treat payloads like a contract. When engineering changes a field name, your personalization breaks. Maintain a tracking spec and version changes.

Implementation Checklist

Events in Customer.io implementation goes smoother when you lock the fundamentals before you build creative and offers.

  • Document your event taxonomy (names, descriptions, required properties).
  • Confirm identity strategy for anonymous browsing and later identification.
  • Ensure Order Completed is server-side or otherwise highly reliable.
  • Include product and cart arrays where you need dynamic line-item rendering.
  • Set clear exit conditions for every pre-purchase journey.
  • Define channel rules (when SMS is allowed, quiet hours, frequency caps).
  • QA with real devices and real checkout paths (Shop Pay, Apple Pay, etc.).
  • Create a monitoring routine (weekly spot check for missing or duplicate events).

Expert Implementation Tips

Events in Customer.io become a revenue lever when you design them around decisions you want to make, not just data you can collect.

  • Build events for intent, not just pageviews. “Product Viewed” is useful, but “Viewed Size Guide” or “Clicked Shipping Info” can power high-converting reassurance messages for hesitant shoppers.
  • Use event properties to avoid blunt discounts. In retention programs we’ve implemented for D2C brands, branching cart recovery by category and margin (from event payload) reduces unnecessary couponing while keeping conversion high.
  • Store what you will personalize. If you want to show the exact variant image in email, capture variant image_url in the event at the moment of interaction. Do not rely on later lookups that might change.
  • Design for multi-item carts. Many brands only personalize the first item. If AOV matters, render up to 3 items and summarize the rest (“and 2 more”).

Common Mistakes to Avoid

Events in Customer.io often underperform because the tracking plan is built for analytics, not for messaging execution.

  • Overloading with too many events early. Start with the events that power your top 3 flows, then expand.
  • Inconsistent naming. Small differences create broken triggers and messy segments.
  • Missing exit logic. If Order Completed does not immediately stop cart recovery, you will annoy customers and increase unsubscribes.
  • Relying on attributes for fast behavior. Attributes update slower and can be overwritten. Use events for moment-in-time actions.
  • Not capturing key payload fields. If you do not send product name, image, and URL, your abandoned cart creative becomes generic and conversion drops.
  • Ignoring anonymous behavior. If you only start tracking after email capture, you lose the highest-intent browsing signals.

Summary

Use Events in Customer.io when you need journeys that react to shopping intent like cart adds, checkout starts, and purchases. Clean naming, reliable purchase events, and strong exit rules are what turn event tracking into repeatable revenue.

Implement with Propel

Propel helps D2C teams turn Customer.io events into high-performing cart recovery, post-purchase, and reactivation programs with clean tracking specs and tight orchestration. If you want an operator-led implementation, book a strategy call.

Contact us

Get in touch

Our friendly team is always here to chat.

Here’s what we’ll dig into:

Where your lifecycle flows are underperforming and the revenue you’re missing

How AI-driven personalisation can move the needle on retention and LTV

Quick wins your team can action this quarter

Whether Propel AI is the right fit for your brand, stage, and stack