AppsFlyer ESP 2.0 integration
AppsFlyer is a mobile attribution and marketing analytics platform. AppsFlyer ESP 2.0 is AppsFlyer’s integration for email service providers (ESPs). Connect Pushwoosh with ESP 2.0 to enable link tracking in email campaigns. In this integration, Pushwoosh wraps URLs, and the ESP 2.0 solution keeps deep linking working for iOS Universal Links and Android App Links when links are wrapped for tracking.
This integration also sends link click data to AppsFlyer, giving you full visibility into email performance alongside your other marketing channels and letting you measure the real impact of email on user acquisition and engagement.
Integration overview
Anchor link toPrerequisites
Anchor link to- Pushwoosh application with email sending configured
- AppsFlyer account with the AppsFlyer ESP 2.0 integration. This is a premium feature. Contact your AppsFlyer CSM or AppsFlyer support to get access.
Synchronized entities
Anchor link toEmail link clicks via your Click Tracking Domain are recorded as click statistics in Pushwoosh and as click events with attribution data in AppsFlyer.
Use cases
Anchor link to- Email click tracking: Measure email link clicks via AppsFlyer.
- Deep linking from email: Keep Universal Links (iOS) and App Links (Android) working when links in emails are wrapped.
How the integration works
Anchor link toOnce the integration is live, each click goes through three steps:
-
Pushwoosh replaces links in your emails with tracking URLs on your CTD, for example:
https://clickpush.yourdomain.com/json/1.3/emailRedirect?d=... -
When a user taps the link, the request goes to AppsFlyer via the configured CNAME. AppsFlyer records the attribution, handles deep linking, and redirects the user to the final URL or into the app via Universal Link / App Link. It also sends a GET request to Pushwoosh, passing your CTD in the Host header, so Pushwoosh can record the click:
GET https://<Pushwoosh CNAME target>/json/1.3/emailRedirect Host: <your CTD>- Pushwoosh receives the request and records the click for its own statistics.
Setting up the integration
Anchor link toStep 1. Create and activate a click tracking domain
Anchor link toThe Click Tracking Domain (CTD) is the domain part of a tracked link URL shown in an email message. It combines a subdomain with your main domain, for example, clickpush.esp-integrations1.com. The subdomain is created in your domain’s DNS settings with your domain provider, usually by adding a CNAME record.
- Decide which subdomain you will use as your CTD (for example,
clickpush.esp-integrations1.com). - In Pushwoosh, open Settings, then select Configure Platforms.
- On the Email channel configuration page, scroll to Custom tracking domain and select Enable.

- Enter your CTD in the Domain field and select Next.

- Outside Pushwoosh, open the service where you manage public DNS for the domain of your CTD (typically your domain registrar, a DNS host, or your hosting account). In its DNS or zone editor for that domain, add the CNAME Pushwoosh shows on this step so your CTD points to
api.pushwoosh.com.
- In Pushwoosh, select Verify.

-
When verification succeeds, select Save.
-
If you need to change the Domain or DNS record, select Back and adjust the earlier steps.
-
After you click Save, your CTD appears in the Custom tracking domain list in Email channel configuration.

To disable it later, select ... next to your CTD, then select Disable custom tracking domain.
Step 2. Start the integration in AppsFlyer
Anchor link toIn the AppsFlyer platform, start the ESP 2.0 integration. Follow the AppsFlyer guide to set up your ESP integration.
AppsFlyer will ask for the following details:
- Click-tracking domain: your CTD (for example,
clickpush.example.com) - ESP endpoint:
api.pushwoosh.com(the CNAME target shown in Pushwoosh when you enable the custom tracking domain)
AppsFlyer will validate the configuration. Keep the CTD CNAME pointing to api.pushwoosh.com until the validation is complete.
Step 3. Update CNAME to AppsFlyer
Anchor link toAfter AppsFlyer validates the setup, it will give you a routing domain (for example, jyvls.espclicks.appsflyer.com).
Update your CNAME so the CTD points to AppsFlyer instead of Pushwoosh:
Before:
clickpush.example.com → api.pushwoosh.com
After:
clickpush.example.com → jyvls.espclicks.appsflyer.com (use the domain provided by AppsFlyer)
After switching the CNAME, send a test email and verify that links open correctly and clicks appear in AppsFlyer.
What happens next
Anchor link toOnce the change takes effect, click traffic goes through AppsFlyer’s infrastructure. AppsFlyer provides the routing layer, SSL, AASA (Apple App Site Association), and Android App Links.
Pushwoosh continues to wrap links and record click statistics. No further configuration is needed in Pushwoosh.
To learn more about setup and testing on the AppsFlyer side, see: