Loading…
Headline numbers
Click a number for its daily trend
Time to send the WhatsApp
Checkout started → WhatsApp sent
The reminder is meant to go 4 hours after the checkout starts. If that falls between 9 PM and 9 AM it waits until 9 AM, so evening checkouts get it the next morning.
Time to pay
WhatsApp sent → first charge, for users who paid within 7 days
Who pays
Paid within 7 days of a reminder that reached the phone
Users → paid
Each user counted once: started a checkout, reached by at least one reminder, paid within 7 days of one
Funnel
Big number = conversion from the step before · every checkout started in the range
Reached → paid, step by step
Messages that reached the phone 7+ days ago · each step within 7 days after the send · big number = conversion from the step before
App steps come from Mixpanel (plans screen, cap sheet and cap ticker events); Buy and payment attempts come from billing. Each message counts at the furthest step reached, so the steps always add up.
Where users drop off
Pick a step · reasons add up to the loss
How the reminder works
Finish-payment remindercomms-service registry
finish_payment_whatsapp, live in prod · Android only- User taps pay on a planbilling creates the subscription and sends
payment.checkout_started- comms, at onceFirst checksAndroid · not paying yet (billing says none/created) · WhatsApp on · number reachable · not reminded in the last 7 days
- failsNo reminderalready a subscriber, WhatsApp off, unreachable, or reminded this week
- passesWait 4 hours
- lands 9 PM–9 AMHeld until 9 AMexpires if not sent within 6 h of being due
- at send timePaid in the meantime? (billing checked again)
- yesReminder cancelled · user already paid
- noWhatsApp senttemplate android_monetization_finish_payment_reminder · MARKETING · first name only · no button
- Meta limit131049: too many marketing messages to this person · never delivered
- deliveredReached the phone → read → paid within 7 days?a new checkout is needed; nobody pays the old one after 4 h
- comms, at onceFirst checksAndroid · not paying yet (billing says none/created) · WhatsApp on · number reachable · not reminded in the last 7 days
Definitions
- Dates are the IST day the checkout started (time inside the checkout id).
- Checkout: one
payment.checkout_startedevent = one subscription created in billing when an Android user taps pay. Users → paid: each user counted once, at the furthest step any of their checkouts reached. Every other section counts checkouts. - Comms rules allow it: final comms verdict is send. Paid before the reminder = billing showed the payment done when comms re-checked at send time. Already a subscriber = billing showed an active plan when the checkout arrived. No send after waiting = deferred and never dispatched (expired after 6 h).
- Reached the phone = delivered or read. Read = status read.
- Paid within 7 days = first charge of a new subscription (
paid_count = 1) within 7 days after the reminder was sent. Counted only for reminders at least 7 days old. Users who paid before the reminder are not counted here. - Time to send: checkout started → comms received it (decision log) → WhatsApp sent (dispatch). Time to pay: WhatsApp sent → first charge. Percentiles are read from ±0.5% time buckets.
- Sources: comms decision log and send ledger (DynamoDB prod), billing_prod read replica, Statsig comms_registry (prod).