Skip to content

AppsFlyer: send event

The AppsFlyer: send event Point template sends a server-to-server in-app event to AppsFlyer for every traveler that passes this step. The event carries the attribution of the install, so the journey step shows up in AppsFlyer reports and can be handed to ad networks as a conversion.

Configure the point

Anchor link to
  1. Drag AppsFlyer: send event from the Integrations section onto the canvas.
  2. Double-click the point and enter a Step Name.
  3. In App ID, enter the app identifier from AppsFlyer: App Settings, id123456789 for iOS or com.example.app for Android.
AppsFlyer send event drawer with Step Name and App ID fields
  1. In Dev key, enter the app’s dev key from App Settings > Dev Key. It’s stored masked, like a webhook secret header — Pushwoosh never displays or returns it once saved, and it never appears in the point’s stored request or in the Calls log.
Dev key field in the AppsFlyer send event drawer
  1. In Event name, enter the name the event should get in AppsFlyer, a standard one (af_purchase, af_complete_registration) or your own (paywall_reached).
Event name field in the AppsFlyer send event drawer
  1. In Tag with the AppsFlyer ID, type the name of the Pushwoosh tag where the app saves the AppsFlyer ID after the AppsFlyer SDK starts (see the developer note above). Enter the tag name as plain text. Point templates don’t have the tag picker that Push or Email use. AppsFlyer matches a server event to an install only by this ID, so get the tag name exactly right.
Tag with the AppsFlyer ID field in the AppsFlyer send event drawer
  1. Optional. In Customer user ID, keep the default {{device:user_id}} to send the Pushwoosh user ID, or enter your own identifier to reconcile in AppsFlyer.
Customer user ID field in the AppsFlyer send event drawer
  1. Optional. In Currency, keep the default USD or enter another ISO 4217 code. It’s sent as eventCurrency.
Currency field in the AppsFlyer send event drawer
  1. Optional. In Event value, add the parameters to send as AppsFlyer’s eventValue payload — see key/value fields. The table starts pre-filled with an af_revenue and an af_currency row; clear either one you don’t need. Use af_revenue for the amount, and af_content_id or af_content_type for your own. There’s no separate numeric revenue field: af_revenue is a string cell in this table, the same as any other parameter, and it takes a macro like {{tag:Price}}. A blank cell isn’t sent.
Event value field with af_revenue and af_currency rows in the AppsFlyer send event drawer
  1. Click Save.

When no request is sent

Anchor link to

Pushwoosh skips the request (and the traveler continues to the next step) when the tag in Tag with the AppsFlyer ID is empty for that traveler. That isn’t a failed request. AppsFlyer would have nothing to match the event to.

A failed request (one that did have an AppsFlyer ID) drops the traveler from the journey instead. See Errors and failed requests.

Example scenario: Reporting a completed purchase to AppsFlyer

Anchor link to

An app wants a purchase made later in a journey to carry the install’s attribution in AppsFlyer, so it can be handed to ad networks as a conversion. This assumes the development team already saved the AppsFlyer ID into a Pushwoosh tag, as described above.

  1. Add AppsFlyer: send event right after the step that confirms the purchase. Set Event name to af_purchase. In Event value, set af_revenue to {{tag:LastPurchaseAmount}}.
  2. Click Save.

Once this runs, the purchase shows up in AppsFlyer’s reports with the install’s attribution, ready to hand to ad networks as a conversion.