People Profiles 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

People profiles in Customer.io are where your shopper identity, attributes, and behavioral history come together so you can trigger revenue-driving journeys like abandoned cart recovery, post-purchase cross-sells, and winbacks without duct-taping data across tools. People profiles matter most in D2C when you want messaging to react to what a customer actually did (viewed a product, started checkout, bought, refunded) and who they are (VIP, first-time buyer, subscription customer, high AOV cohort).

If you want this implemented cleanly across Shopify, paid media, and messaging channels, Propel can help you design the profile schema and event plan so campaigns stay flexible as your catalog and offers evolve. If you want a second set of eyes on your data model, book a strategy call.

How It Works

People profiles in Customer.io work by tying a unique person identifier to a set of attributes and a stream of events, then using that combined record for segmentation and triggering automation.

In practice, each shopper becomes a “person” record. You store stable facts as attributes (like email, phone, acquisition source, first_order_date, lifetime_value) and time-based behaviors as events (like Product Viewed, Added to Cart, Checkout Started, Order Placed). When those events and attributes land consistently, you can build segments like “Viewed running shoes twice in 7 days, no purchase” and route them into the right message path.

Profiles also become the operational source of truth for orchestration. Your abandoned checkout flow can read the last cart contents event, your post-purchase flow can read last_order_items, and your winback can read days_since_last_order. Done well, this removes the need for brittle one-off lists. If you are implementing this across sources, an agency-style build typically starts with a profile and event taxonomy in Customer.io before anyone writes copy.

Step-by-Step Setup

People profiles in Customer.io are easiest to set up when you decide upfront what belongs as an attribute versus an event, then enforce naming and ID rules across every integration.

  1. Choose your primary identifier. Use a stable ID (customer_id from Shopify or your data warehouse). Treat email and phone as mutable attributes, not the core ID.
  2. Define your “profile schema” (attributes). Start with a tight set you will actually use in segmentation and personalization: email, phone, first_order_date, last_order_date, orders_count, lifetime_value, average_order_value, discount_affinity, subscription_status, sms_consent, email_consent, acquisition_source, preferred_category.
  3. Define your event taxonomy. Map the behaviors that drive revenue: Product Viewed, Collection Viewed, Added to Cart, Checkout Started, Order Placed, Order Refunded, Subscription Started, Subscription Canceled. Include required properties like product_id, product_name, price, quantity, cart_value, checkout_url, order_id.
  4. Instrument data into profiles. Send attribute updates when something changes (like lifetime_value after purchase), and send events at the moment behavior happens (like Checkout Started at the first checkout step).
  5. Set rules for anonymous to known shoppers. Ensure you can merge browsing behavior into a known profile when someone submits email or phone (email capture, checkout, or account creation).
  6. Validate profiles with real journeys. Pick one flow (abandoned checkout) and confirm the profile shows the right last cart event, the right consent state, and a usable checkout_url for deep linking.
  7. Build segments off your schema. Create segments like “First-time buyer, ordered in last 14 days” or “High intent, Checkout Started, no Order Placed in 2 hours” and verify membership counts look sane.
  8. Lock naming conventions. Document attribute and event names so future integrations do not create duplicates (for example, lifetime_value vs LTV vs total_spent).

When Should You Use This Feature

People profiles in Customer.io are most valuable when you need messaging to respond to shopper behavior and purchase history, not just broad list membership.

Use people profiles when you want to drive:

  • First purchase conversion by targeting high-intent browsers (multiple product views, added to cart) with category-specific creative and the right incentive logic.
  • Abandoned cart and checkout recovery using the exact items, price, and checkout link from the last cart or checkout event.
  • Repeat purchase by segmenting on last purchased category, replenishment windows, or propensity signals like discount_affinity and AOV.
  • Reactivation by isolating lapsing cohorts (for example, 60 to 120 days since last order) and excluding recent support issues or refunds.
  • CLV lift by identifying VIPs (high lifetime_value, high margin buyers) and routing them into early access, replenishment reminders, or premium bundles.

Realistic scenario: A skincare brand wants to increase second purchase rate. With clean profiles, they can target “first-time buyers of cleanser, no moisturizer purchased” and send a post-purchase sequence that recommends a moisturizer matched to skin concern, while suppressing customers who already bought that SKU.

Operational Considerations

People profiles in Customer.io only perform when your data flow, segmentation rules, and orchestration logic are consistent enough that marketers can trust them.

  • Attributes vs events discipline: Store “current state” as attributes (subscription_status, sms_consent). Store “what happened” as events (Subscription Canceled, SMS Opted In). This avoids messy segments like “has event X” when you really need a current boolean.
  • Event freshness and timing: Cart and checkout recovery depends on near-real-time events. If your pipeline batches every few hours, your messages will arrive too late, and you will misread intent.
  • Identity resolution: D2C brands often collect email in a popup before checkout. Plan how you merge anonymous browsing activity into the identified profile, otherwise your “viewed product” signals will never connect to the buyer.
  • Consent as a first-class field: Keep email_consent and sms_consent updated. Suppression mistakes are expensive, especially when you scale SMS.
  • Catalog complexity: If you sell variants (size, color), include variant_id and variant_title in events. Otherwise, you will recommend the wrong item and hurt conversion.
  • Support and refund signals: Pipe in refund and complaint events or attributes so you can suppress promotional pressure during sensitive windows.

Implementation Checklist

People profiles in Customer.io are ready for serious revenue work when the basics below are true across your stack.

  • A single primary person identifier is used across all data sources.
  • Core attributes exist and are populated for at least 95% of known customers (first_order_date, last_order_date, orders_count, lifetime_value, consent fields).
  • High-intent events are firing reliably (Product Viewed, Added to Cart, Checkout Started, Order Placed).
  • Cart and checkout events include item-level properties (product_id, variant_id, price, quantity) and a usable URL for recovery.
  • Anonymous activity can be merged into known profiles after email or phone capture.
  • Segments for key flows match expectations (abandoners, recent purchasers, lapsing customers, VIPs).
  • Suppression rules exist for unsubscribes, refunds, and recent support issues.
  • Naming conventions for attributes and events are documented and enforced.

Expert Implementation Tips

People profiles in Customer.io become a growth lever when you treat the profile schema like a product that needs governance, not a one-time integration task.

  • In retention programs we have implemented for D2C brands, the biggest unlock is a “minimum viable profile” that supports 80% of flows, then iterating. Teams that try to model everything upfront usually end up with duplicate attributes and unusable segments.
  • Keep a dedicated attribute for preferred_category or last_viewed_category derived from browsing events. It makes product discovery journeys much easier than trying to compute it inside every campaign.
  • Build a simple days_since_last_order attribute in your warehouse or via regular updates. Marketers use it constantly, and it reduces segment complexity.
  • For cart recovery, store a cart_hash or cart_id property. It helps you prevent sending three messages for the same cart when shoppers refresh or adjust quantities.
  • When you personalize with product data, always add a fallback. If last_cart_items is missing, default to bestsellers in the category the shopper viewed most recently.

Common Mistakes to Avoid

People profiles in Customer.io can quietly break performance when execution details are off, even if messages are beautifully designed.

  • Using email as the only identifier. Emails change, and you will create duplicates. Use a stable customer_id and treat email as an attribute.
  • Storing everything as attributes. If you overwrite behavioral data (like last_product_viewed) without keeping events, you lose intent history and cannot build high-performing segments.
  • Inconsistent naming across tools. If Shopify sends “total_spent” and your warehouse sends “lifetime_value,” segmentation becomes a guessing game.
  • Missing variant-level properties. Apparel and beauty brands get burned here. The wrong shade or size in recovery emails hurts conversion and increases returns.
  • No suppression for refunds or complaints. Promotional pressure right after a refund request is an avoidable CX failure.
  • Delayed event delivery. If Checkout Started arrives two hours late, your recovery flow will feel spammy and irrelevant.

Summary

Use people profiles when you need segmentation and automation to reflect real shopper behavior and purchase history, especially for cart recovery, post-purchase, and winback.

When your IDs, attributes, and events are clean, Customer.io becomes far easier to operate and significantly more profitable to scale.

Implement with Propel

Propel helps teams implement Customer.io people profiles with a practical schema, event plan, and segmentation foundation that supports the flows that drive revenue. If you want to move faster without rebuilding later, 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