Table of Contents
- Why Lifecycle Marketing Hits Different for Pet Subscription Boxes
- The Events You Need to Track
- Core Subscription Events
- Engagement and Customization Events
- Segments That Actually Drive Revenue
- Engagement-Based Segments
- Subscription Health Segments
- Pet-Specific Segments
- Automations to Build First
- 1. Onboarding Series (Triggered by `subscription_activated`)
- 2. Payment Recovery Series (Triggered by `payment_failed`)
- 3. Pre-Cancellation Intervention (Triggered by Cancellation Page Visit or API Signal)
- 4. Win-Back Series (Triggered by `subscription_cancelled`)
- Industry-Specific Challenges in Iterable
- Frequently Asked Questions
- How do I connect my subscription management platform to Iterable?
- What's the right send frequency for a pet subscription lifecycle program?
- How should I handle subscribers who cancel due to pet death?
- Can Iterable handle SMS and email in the same subscription journey?
Why Lifecycle Marketing Hits Different for Pet Subscription Boxes
Pet subscription boxes operate on a fundamentally different retention model than most e-commerce. Your customer doesn't just buy once — they commit to a recurring relationship built on trust, novelty, and the emotional bond they have with their pet. When that trust erodes (wrong size collar, kibble a dog won't touch, a box that arrives late), churn follows fast.
Iterable gives you the cross-channel infrastructure to catch those moments before they become cancellations. But the platform only works as hard as your event architecture and segmentation logic. This guide covers how to build both, specifically for the pet subscription model.
---
The Events You Need to Track
Most pet subscription brands track the obvious stuff — orders placed, boxes shipped, payments processed. That's not enough. The behavioral signals that predict churn or expansion revenue are subtler.
Core Subscription Events
Set these up as custom events in Iterable, each with relevant data fields attached:
- `subscription_activated` — include `plan_type`, `pet_species`, `pet_name`, `box_size`, `billing_frequency`
- `box_shipped` — include `box_number` (this is their 1st, 3rd, 10th box), `carrier`, `estimated_delivery`
- `box_delivered` — pulled from carrier webhooks; critical for triggering post-delivery flows
- `subscription_paused` — include `pause_reason` if captured, `pause_duration`
- `subscription_cancelled` — include `cancellation_reason`, `boxes_received_total`, `lifetime_value`
- `payment_failed` — include `attempt_number`, `failure_reason`
- `product_reviewed` — include `rating`, `product_category`, `sentiment_flag` if you run NLP scoring
Engagement and Customization Events
These are where most brands leave money on the table:
- `box_customization_completed` — did they log in and update preferences before the cutoff?
- `box_customization_skipped` — did they not bother? This is an early churn signal
- `portal_login` — frequency matters; low portal engagement precedes cancellation
- `referral_sent` and `referral_converted` — for loyalty program triggers
- `pet_profile_updated` — breed, age, dietary restrictions; ties directly to personalization depth
Pass all events through your backend to Iterable's Events API. Avoid relying solely on client-side tracking — subscription management events happen server-side and won't be captured otherwise.
---
Segments That Actually Drive Revenue
Iterable's segmentation engine is powerful, but generic segments produce generic results. Build these specifically for the pet subscription model.
Engagement-Based Segments
- Active Engagers: opened or clicked in the last 30 days, logged into portal in last 45 days
- Passive Subscribers: paying but not engaging — highest churn risk group; trigger re-engagement campaigns before they consciously decide to cancel
- Box Customizers vs. Default Subscribers: customizers have significantly higher LTV; the gap tells you how much personalization is worth to your business
Subscription Health Segments
- New Subscribers (Box 1–3): the onboarding window; this cohort needs more touchpoints and education than you think
- Milestone Subscribers: boxes 6, 12, 24 — prime moments for loyalty recognition and upsell
- At-Risk Subscribers: combine low portal logins + no customization in last 60 days + payment history; this composite signal outperforms any single metric
- Paused Subscribers: segment by pause duration — 0–14 days vs. 15–30 days vs. 30+ days warrant different reactivation approaches
Pet-Specific Segments
- By species (dog vs. cat vs. small animal) — obvious but often not fully implemented
- By pet life stage (puppy/kitten vs. adult vs. senior) — content, product relevance, and purchasing behavior shift dramatically across these
- By pet size/breed category — a Great Dane owner and a Chihuahua owner have different product needs and different emotional hooks
---
Automations to Build First
Prioritize these journeys based on revenue impact, not complexity.
Getting the most out of Iterable?
I'll audit your Iterable setup and show you where revenue is hiding.
1. Onboarding Series (Triggered by `subscription_activated`)
The first 90 days determine whether someone cancels or becomes a multi-year subscriber. Build a 5–7 touch sequence:
- Immediate welcome email — confirm their first box contents and expected ship date
- Day 3 — introduce the pet profile customization portal with a specific deadline ("Your box ships in 11 days — personalize it now")
- Day 7 — educational content relevant to their pet species/life stage
- Post-delivery (triggered by `box_delivered`) — review request plus customization prompt for box 2
- Day 21 — community or social proof content; "what other [breed] owners are loving"
- Day 30 — first value reinforcement; show them what they've received vs. retail price
2. Payment Recovery Series (Triggered by `payment_failed`)
Failed payments are recoverable revenue. Most brands leave 15–20% of failed payments unrecovered because their dunning flow is too passive.
- Attempt 1 (same day): transactional email + SMS — direct, no fluff, link straight to payment update
- Attempt 2 (Day 3): follow-up email with a different subject line angle
- Attempt 3 (Day 7): final notice with clear consequence and a one-click update link
- Use Iterable's channel priority logic to escalate from email to SMS if email goes unopened
3. Pre-Cancellation Intervention (Triggered by Cancellation Page Visit or API Signal)
If your subscription management system (Recharge, Skio, Ordergroove) can fire a webhook when a subscriber initiates the cancellation flow, use it. Build a real-time intervention:
- Trigger an immediate popup or in-app message through Iterable's mobile push or embedded messaging
- Follow up with an email within 2 hours presenting pause options, swap options, or a retention offer
- Segment the offer based on boxes received — a subscriber on box 2 needs a different message than someone on box 24
4. Win-Back Series (Triggered by `subscription_cancelled`)
Wait 72 hours before the first touch — immediate re-engagement reads as desperate. Then:
- Email 1 (Day 3): acknowledge the cancellation, ask for feedback, keep it human
- Email 2 (Day 14): lead with what's new or improved since they left
- Email 3 (Day 30): reactivation offer with a deadline
- Suppress from this flow anyone who cancelled due to pet loss — flag this in your `cancellation_reason` field and route to a separate, sensitive touchpoint
---
Industry-Specific Challenges in Iterable
Pet loss and sensitive lifecycle moments require suppression logic most brands don't build. Create a `pet_status` field on the user profile and suppress affected users from promotional flows immediately.
Box cutoff date urgency is underused. The window between billing and shipment is your highest-conversion communication moment. Build a cutoff countdown campaign triggered by days until `next_ship_date` — this single automation consistently produces 20–35% customization rate lifts.
Multi-pet households complicate segmentation. A user with three pets doesn't fit neatly into species-based segments. Use array-type user fields in Iterable to store multiple pet profiles and build dynamic content blocks that reflect the full household, not just the primary pet.
---
Frequently Asked Questions
How do I connect my subscription management platform to Iterable?
Most platforms — Recharge, Skio, Ordergroove, Bold — support webhook-based event firing or have direct integrations through middleware like Segment or Klaviyo. For Iterable specifically, route subscription lifecycle events through Segment's Iterable destination or build a direct server-side integration using Iterable's REST API. Map every subscription state change to a named custom event, not just a user property update.
What's the right send frequency for a pet subscription lifecycle program?
Frequency should be tied to subscription events, not a fixed calendar. Outside of promotional campaigns, most of your sends should be triggered — post-delivery, pre-cutoff, payment-related. For non-triggered marketing emails, 2–4 per month is a reasonable ceiling for active subscribers. Passive subscribers (low engagement, no recent portal activity) should receive fewer touches until re-engagement is confirmed.
How should I handle subscribers who cancel due to pet death?
Create a specific `cancellation_reason` value for pet loss and immediately add affected users to a suppression list that blocks all promotional, win-back, and reactivation flows. A brief, human acknowledgment email is appropriate — then silence for at least 60–90 days. Some brands send a gentle reactivation note after 90 days framed around a new pet; only do this if you have signals the customer has adopted or acquired another animal.
Can Iterable handle SMS and email in the same subscription journey?
Yes. Iterable's Workflow Studio supports multi-channel journeys natively. You can build logic that sends an email first, waits for an open or click event, and escalates to SMS if there's no engagement within a defined window. For time-sensitive triggers like payment failures or box cutoff reminders, SMS should be part of the flow — not an afterthought added to the email sequence.