Skip to content

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 to

Prerequisites

Anchor link to

Synchronized entities

Anchor link to

Email link clicks via your Click Tracking Domain are recorded as click statistics in Pushwoosh and as click events with attribution data in AppsFlyer.

  • 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 to

Once the integration is live, each click goes through three steps:

  1. Pushwoosh replaces links in your emails with tracking URLs on your CTD, for example: https://clickpush.yourdomain.com/json/1.3/emailRedirect?d=...

  2. 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>
  1. Pushwoosh receives the request and records the click for its own statistics.

Setting up the integration

Anchor link to

Step 1. Create and activate a click tracking domain

Anchor link to

The 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.

  1. Decide which subdomain you will use as your CTD (for example, clickpush.esp-integrations1.com).
  2. In Pushwoosh, open Settings, then select Configure Platforms.
  3. On the Email channel configuration page, scroll to Custom tracking domain and select Enable.
Pushwoosh Control Panel: Settings, Configure Platforms, Email channel configuration, Custom tracking domain with Enable.
  1. Enter your CTD in the Domain field and select Next.
Enable custom tracking domain dialog: Domain field, Cancel, and Next.
  1. 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.
  1. In Pushwoosh, select Verify.
Custom tracking domain DNS step: CNAME to api.pushwoosh.com, Back, Verify, and Save.
  1. When verification succeeds, select Save.

  2. If you need to change the Domain or DNS record, select Back and adjust the earlier steps.

  3. After you click Save, your CTD appears in the Custom tracking domain list in Email channel configuration.

Email channel configuration: Custom tracking domain section showing the saved CTD in the list.

To disable it later, select ... next to your CTD, then select Disable custom tracking domain.

Step 2. Start the integration in AppsFlyer

Anchor link to

In 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 to

After 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.comapi.pushwoosh.com

After:

clickpush.example.comjyvls.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 to

Once 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: