Test your Adapty Mail flow

Before you launch a campaign to real users, run one test user through the whole chain: the email address reaches Adapty Mail, the campaign sends, the recipient clicks through to checkout, the payment completes, and your app grants access.

You have two ways to test. The live chain exercises the automation and costs you a real payment you refund afterwards. A test send skips the automation and lets you pay with a Stripe test card. Run the live chain at least once before you launch.

Before you start

The chain runs end to end only when all of these are true:

  • Sending domain: Your domain is verified in Settings → DNS. See Set up your sending domain.
  • Checkout: Your web paywall is created and published. An unpublished paywall returns an error when the CTA opens it. See Set up checkout.
  • Campaign attached to a flow: A campaign on its own stays a draft and sends nothing. Attach it to a flow row to make it live. See Create a flow.
  • A live entry point: User data is actually reaching Adapty Mail. On the Adapty entry point, that means the integration is enabled in Settings → Project; on the API, that means you’re posting profiles and transaction events.

Test the live chain

This path runs your campaign exactly as a real user experiences it, which means the CTA opens your production checkout and the payment is real.

  1. Shorten the first delay. In the campaign editor, set the first email’s Delay to a minute or two, so you don’t wait out your real schedule. Restore your delays after the test.

    The Delay field on the first email, set to 0 days, 0 hours, and 1 minute
  2. Create a test user. In your app, sign up with an email address that has no profile in the project yet. Every run needs a new address, because a profile that has already run through the campaign won’t enter it again.

  3. Wait for the first email. Adapty Mail schedules the send for the trigger time plus the delay you set, then picks up due emails once a minute. Delivery adds a few minutes on top.

  4. Open the email and click the CTA. You land on your checkout with the email address already filled in.

  5. Complete the payment. Pay with a real card, then refund it in Stripe.

Test the email and checkout on their own

To review the email and the checkout without waiting on the automation, use Send test email in the campaign editor. The button stays disabled until your sending domain is verified and the campaign has a web paywall selected.

The modal has two settings:

  • Environment: Production opens your live checkout with live products. Sandbox opens the test version, where Stripe’s test card 4242 4242 4242 4242 works with any future expiry date and any CVC. Sandbox is selectable only for a paywall generated with sandbox products — a paywall you added by URL shows “This paywall has no sandbox products, so only production is available.”
  • Profile: Optional. Select a profile to send the email to that profile’s address and fill the CTA with its IDs. Leave it empty to send to your own account address with a placeholder profile ID.

A test send is a standalone email, separate from the live chain. It confirms that the email renders and that the checkout takes payment, and it tells you nothing about whether the automation fires. To confirm the automation, run the live chain.

Send test email modal with Sandbox unavailable and a profile selected

Confirm access in your app

Once the payment goes through, the subscription reaches the user’s Adapty profile, and your app sees the access level.

Adapty records a sandbox payment as a sandbox transaction, so make sure your access level accepts sandbox transactions before you treat a missing access level as a failure.

Read the journey

To see what Adapty Mail recorded, go to Profiles, open your test profile, and read the Journey timeline. The timeline labels each email with chips for how far it got:

ChipWhat it means
ScheduledThe email has a send time and Adapty Mail hasn’t sent it yet.
CancelledThe email won’t send. A purchase cancels every remaining email in the sequence.
SentAdapty Mail sent the email and has no delivery confirmation for it yet.
DeliveredThe receiving mail server accepted the email. This chip replaces Sent.
OpenedThe tracking pixel loaded.
ClickedThe recipient clicked a link. Expand the email to see which links, and the purchase it drove.
BouncedDelivery failed.
Spam reportThe recipient marked the email as spam.
UnsubscribedThe recipient unsubscribed. Adapty Mail excludes them from every campaign in the project — see Unsubscribe and suppression.

A successful test shows the first email reaching Clicked, the purchase attributed to it, and the rest of the sequence Cancelled.

Note

Opens are pixel loads, and Apple Mail Privacy Protection pre-fetches them, so an Opened chip you didn’t earn is normal. See Campaign analytics for what each metric counts.

Learn more