Push Service Certificates (Mobile Push) for Customer.io: Operator Setup Guide

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

If mobile push is part of your retention mix, push service certificates are the boring-but-critical plumbing that makes sure Customer.io can actually reach devices consistently. When this is misconfigured, everything downstream breaks quietly: cart recovery push never arrives, winback sequences underperform, and you end up blaming creative when it’s really delivery.

If you want a second set of eyes on your setup (especially identity stitching and event hygiene), you can book a strategy call and we’ll pressure-test it like an operator would.

How It Works

In practice, mobile push success comes down to two things: (1) your app can receive a push token from Apple/Google, and (2) Customer.io can map that token to the right customer profile at the right time. Push certificates/keys are what authorize Customer.io to send pushes through APNs (iOS) and FCM (Android); your SDK implementation is what makes the token usable for segmentation and orchestration.

  • iOS (APNs): Your Apple Push credentials (typically an APNs Auth Key or certificate, depending on your setup) prove to Apple that Customer.io is allowed to send pushes for your app bundle ID. Your app registers for remote notifications and receives a device token.
  • Android (FCM): Your Firebase Cloud Messaging configuration authorizes sending. Your app receives an FCM registration token.
  • SDK → Customer.io device registration: The SDK sends the device token to Customer.io and associates it with a profile. This is where most retention programs accidentally leak performance—tokens get stored against anonymous profiles, duplicates, or the wrong person.
  • Identity stitching: When a user logs in (or you otherwise know who they are), you must call identify so Customer.io merges the device with the known customer. Without this, your “cart abandonment push” goes to an anonymous shell profile that never enters your campaigns.
  • Event tracking drives triggers: Push is only as smart as your events. If you track Added to Cart but not Checkout Started or Order Completed, you’ll either spam buyers or miss high-intent shoppers.

Step-by-Step Setup

Think of setup in two parallel tracks: platform credentials (certificates/keys) and app-side SDK behavior (tokens + identity + events). You need both working before you trust push for revenue-driving flows.

  1. Create/confirm your push credentials
    • iOS: In Apple Developer, generate the APNs credential your org uses (commonly an APNs Auth Key). Confirm the correct Bundle ID and environment (sandbox vs production) expectations.
    • Android: Confirm your Firebase project is the one tied to your production app, and that FCM is enabled.
  2. Add credentials in Customer.io push settings
    • In Customer.io, navigate to your push channel settings and upload/enter the required APNs/FCM details.
    • Double-check you’re configuring the right workspace/environment. We’ve seen teams wire staging credentials into production and only notice when pushes “randomly stop.”
  3. Install the Customer.io Mobile SDK in your app
    • Implement the SDK for your platform (iOS/Android/React Native/Flutter, etc.).
    • Initialize the SDK early in the app lifecycle so it can capture tokens and lifecycle events reliably.
  4. Request push permission and capture the device token
    • iOS: Prompt for notification permission at a moment of perceived value (post-purchase shipping updates, back-in-stock alerts, etc.), then register and pass the APNs token through the SDK.
    • Android: Ensure the app obtains the FCM token and the SDK receives it (and refreshes it when Google rotates tokens).
  5. Implement identity stitching with identify
    • Call identify as soon as you have a stable customer identifier (login, account creation, or verified email/phone).
    • Pass key attributes you’ll segment on (email, phone, loyalty tier, last order date, preferred category), but avoid dumping your entire user object—keep it operational.
    • If you support guest checkout, decide what “identity” means: email capture at checkout is often the stitching moment for cart recovery and post-purchase push.
  6. Track retention-grade events (not just analytics events)
    • Minimum viable commerce set: Product Viewed, Added to Cart, Checkout Started, Order Completed.
    • Include identifiers in event payloads (product_id, variant_id, cart_id, order_id, value, currency) so you can personalize pushes and suppress correctly.
  7. Validate end-to-end delivery and profile mapping
    • Send a test push to a known internal profile and confirm it lands on the device.
    • Verify the device token is attached to the same profile that receives events after identify.
    • Run a controlled scenario: add to cart → wait 30 minutes → confirm the profile qualifies for your cart recovery segment.

When Should You Use This Feature

Push certificates aren’t a “marketing feature”—they’re the prerequisite for using push as a dependable retention channel. If you want push to carry revenue, you need it stable enough to be part of your orchestration, not a best-effort add-on.

  • Cart abandonment on mobile-heavy brands: When 60–80% of sessions are in-app, push is often your fastest recovery lever—if identity stitching is clean.
  • Repeat purchase timing: For replenishable products (supplements, skincare), push works well for “time-to-reorder” nudges when you trust Order Completed and last purchase timestamps.
  • Back-in-stock / price-drop: Push is the highest-intent channel when the user already raised their hand. Certificates + token capture are what make those alerts actually hit.
  • Reactivation: When email is saturated or deliverability is fragile, push can be a lighter-touch winback—assuming you’re not targeting stale tokens from users who churned months ago.

Operational Considerations

Once push “works,” the real operator work starts: keeping audiences accurate, preventing duplicate sends across channels, and making sure data flows don’t create ghost segments. This is where we see most programs lose incremental lift.

  • Segmentation depends on device presence: Always build segments that explicitly require a valid push device (or “has push enabled”). Otherwise you’ll measure campaign eligibility, not actual reach.
  • Token churn is real: Tokens rotate. Apps get reinstalled. Users opt out. Your logic should tolerate device loss without breaking journeys or inflating audience counts.
  • Identity stitching is the linchpin: If you track cart events anonymously but only identify on login, your cart recovery push will miss guest shoppers. Decide where you capture email/phone and stitch there.
  • Orchestration with email/SMS: For cart recovery, push usually goes first (fast + cheap), then email, then SMS for high-intent. But you need suppression based on Order Completed and a shared cart/order identifier to avoid “you forgot something” after purchase.
  • Environment discipline: Keep staging and production credentials separate. Mixing them creates the worst kind of bug: intermittent delivery failures that look like “creative fatigue.”

Implementation Checklist

If you want push to be a reliable retention channel, treat this checklist like a launch gate. Most teams skip one item and then spend weeks debugging why performance is inconsistent.

  • APNs (iOS) and/or FCM (Android) credentials added to the correct Customer.io workspace
  • Customer.io Mobile SDK installed and initialized early in the app lifecycle
  • Push permission prompt implemented with a value-based moment (not first app open)
  • Device token captured and successfully registered in Customer.io
  • identify called on login/account creation and at any guest-to-known conversion point
  • Core commerce events tracked with stable IDs and useful payload fields
  • Test device receives pushes; token is attached to the same profile receiving events
  • Segments include “has push device / push enabled” gating
  • Conversion suppression in place (purchase event exits cart recovery/reactivation)

Expert Implementation Tips

These are the small decisions that tend to separate “push is enabled” from “push prints money without annoying customers.”

  • Stitch before you need it: If you wait until checkout completion to identify, you’ve already missed the cart recovery window. Capture identity at email entry, account creation, or “save cart.”
  • Use event IDs for suppression: For cart recovery, include cart_id in Added to Cart and Order Completed. Then suppress only when the same cart converts, not when any order happens.
  • Don’t over-attribute profiles: Keep person attributes stable and segmentable (last_order_date, lifetime_value, opt_in flags). Put volatile details (cart contents) in event payloads or objects so you don’t create noisy profile churn.
  • Measure “reachable audience”: Track how many users are push-enabled vs total actives. When reachable share drops, it’s usually permissions UX, token registration, or identity stitching—not creative.

Common Mistakes to Avoid

Most push failures aren’t dramatic—they’re silent. These are the issues that quietly kill recovery and reactivation performance.

  • Uploading the wrong credentials/environment: Staging keys in production (or vice versa) leads to partial delivery and confusing test results.
  • Never calling identify: Tokens end up tied to anonymous profiles, so known-customer journeys never reach them.
  • Calling identify with unstable IDs: Using a session ID or device ID as the primary identifier creates duplicates and breaks lifetime value segmentation.
  • Tracking events without suppression fields: If Order Completed doesn’t include order_id/cart_id, you can’t reliably exit campaigns and you’ll spam recent buyers.
  • Building segments that ignore reachability: Targeting “Added to Cart in last 2 hours” without requiring a push-enabled device inflates audience size and masks delivery issues.

Summary

If push is a meaningful retention lever for your D2C brand, certificates/keys are table stakes—and SDK identity stitching is what determines whether push drives revenue or just sends noise.

Get credentials right, register tokens reliably, stitch identities early, and track events with suppression-ready IDs. Then your cart recovery and repeat purchase flows behave predictably.

Implement Push Certificates with Propel

When we help teams implement push for Customer.io, we usually focus less on “is push enabled?” and more on whether device registration, identity stitching, and event payloads will hold up once you scale segmentation and multi-channel orchestration.

If you want an operator review of your SDK implementation (tokens, identify timing, event schema, and suppression logic), book a strategy call and we’ll map the cleanest path to reliable cart recovery, repeat purchase, and reactivation.

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