Integrations

Connect AppsFlyer

Credit app installs and in-app purchases to the ads that drove them. Connecting mints a Push API URL you paste into AppsFlyer — one-way only, and it works best when your app sets customer_user_id to the user's email.

Connecting AppsFlyer credits app installs and in-app purchases to the Meta, Google, LinkedIn and Microsoft ads that drove them – on the same leads as your website visits. Your app and your web funnel finally sit in one report.

What the connection covers

  • 7 triggers across installs and in-app events.
  • App activity joins the same lead as that person's website and CRM history.
  • One way only: AppsFlyer pushes to LeadJourney. This integration never writes to AppsFlyer.

Before you start

  • An AppsFlyer account whose plan includes the Push API – this is the one prerequisite that can block you.
  • Access to Integration → API access in AppsFlyer.
  • Ideally, your app setting customer_user_id to the user's email (see step 4).

Nothing to publish or get approved

There's no app to submit and no review to wait for. You paste a URL into your own Push API settings, and that's the whole integration.

Where to find it

Open Settings → Apps, or go to app.leadjourney.io/settings?slug=apps, and click the AppsFlyer card (or use ?slug=apps&app=appsflyer).

The AppsFlyer connect screen under Settings → Apps

Step by step

Generate your Push API URL

Click Connect AppsFlyer. There's nothing to enter – AppsFlyer has no OAuth and no key to validate, so connecting simply mints the Push API URL for your workspace.

Treat the URL as a secret

The token in the URL is what keeps your endpoint private. Paste it into AppsFlyer, not into a public document or a repository.

Add the endpoint in AppsFlyer

In AppsFlyer, open Integration → API access → Push API, add an endpoint, paste the URL and set the method to POST.

Choose the message types

Tick the message types to send:

  • Installs – required.
  • In-app events – required for purchases and any other in-app conversion.
  • Re-engagements / Re-attributions – optional.

Set customer_user_id to the user's email

Have your app set customer_user_id to the user's email address. That's what lets AppsFlyer events join the same lead as that person's website visits and CRM records, instead of sitting in a separate silo.

If your app can't do that, you can map an email field in a trigger instead – but the earlier the email is set, the more of the journey joins up.

Add a trigger

In the Triggers panel, click Add trigger, pick the LeadJourney Event the AppsFlyer event should record (e.g. Purchase), then the AppsFlyer event that fires it. Go through Receive Data, Configure Mapping – Email, Name, First name, Last name, Phone, Revenue and Currency, plus your custom fields – and Filtering (optional).

Click Save & Continue.

Why there's no click_id to map

Mobile installs don't carry a LeadJourney click ID – the app install happens in the store, not in the browser that clicked. AppsFlyer events are joined to a lead by the email in customer_user_id instead, which is why step 4 matters more here than anywhere else.

Troubleshooting

There's no Push API section in AppsFlyer

Your plan doesn't include the Push API. That's an AppsFlyer plan matter – nothing can be configured on the LeadJourney side to work around it.

Nothing arrives

Check the endpoint in Integration → API access → Push API: the URL pasted in full, the method set to POST, and at least Installs and In-app events ticked.

App events don't join the right person

customer_user_id isn't set to the user's email, so there's nothing to join on. Set it in the app, or map an email field on the trigger.

Common questions