Tapper
Search docs...
⌘K
SupportDashboard

Branch integration

Connect Branch to Tapper to detect invalid installs and in-app events across your mobile campaigns.


Connecting Branch takes two steps - create the integration in Tapper, then enable Tapper as an ad partner in Branch and paste in the two values Tapper gives you. No SDK changes are required.

Create the integration in Tapper

1
Open your protected entity

In Tapper, open Setup > Mobile app > App protection. For a first app, open Setup > Ad accounts, click Add ad account, then Add mobile app.

2
Add the integration

Click Add integration, choose Branch as the MMP type, and give it a name.

3
Choose a webhook secret (optional)

Tapper uses the Webhook Secret to verify that incoming callbacks are legitimate. Leave it blank and Tapper generates a strong one for you. It is shown once, right after you create the integration, so copy it then. If you choose your own, it needs at least 32 characters.

Lost the secret? Open the integration, type a new one (at least 32 characters) and click Update to replace it. The old secret stops working at once, so then enter the new secret in Tapper's partner form in Branch. Until you do, Tapper refuses Branch's postbacks.

4
Copy the webhook URL

After saving, copy your Tapper webhook URL. You'll paste it into Branch next.


Configure in Branch dashboard

Tapper is a listed Branch ad partner, so there is nothing to build by hand - enable Tapper, give it the two values below, and widen the postbacks.

REQUIRED - tick All Events on every Tapper postback, and leave any condition or filter empty. Left scoped to attributed traffic only, a postback fires solely for events already attributed to Tapper, so a brand-new integration receives zero events until Tapper-attributed campaigns exist; it will look broken while being merely filtered.

If the integration shows no events but test postbacks succeed, check this setting first.

1
Enable Tapper as an ad partner

In your Branch dashboard, open Ads Partners → Partner Management, search for Tapper, and enable it.

2
Enter your integration ID and webhook secret

Tapper's form in Branch asks for two values:

Branch fieldWhere to get it
Integration IDThe numeric Integration ID on your Tapper MMP integration.
Webhook SecretThe secret you copied when you created the integration. Tapper shows it only once. If you lost it, set a new one (see Choose a Webhook Secret above).
3
Send all events, not only attributed (REQUIRED)

Tick All Events on every Tapper postback, and leave any condition or filter empty. The warning at the top of this page explains why this step is required.

4
Save

Save the partner configuration. Events appear in Tapper within minutes.

Branch sends one postback per event, so enable every event you want analyzed - installs, reinstalls, opens, and any commerce or custom events your app fires.


What data is captured

Once connected, Tapper automatically receives the following from Branch on every postback:

  • Attribution - network, campaign, ad group, creative, and ad IDs (from last_attributed_touch_data).
  • Activity type - install, reinstall, app open, or in-app event.
  • Device info - IDFA (iOS), GAID (Android), IDFV, device model, OS, OS version, app version (from user_data).
  • Geolocation - IP address, country (from user_data).
  • Revenue - amount and currency (from event_data).
  • Click-level identifiers - any DSP clickids stored under last_attributed_touch_data (e.g. ~feature, ~channel, ~tags, ~click_id) are captured in the raw payload and available for downstream matching.

When configuring the webhook in Branch, make sure to include User Data, Last Attributed Touch Data, and Event Data in the payload. These are the three blocks Tapper parses.


Organic vs paid

Tapper automatically distinguishes organic and paid activity based on the attribution data Branch provides:

  • If an ad network is attributed → paid.
  • If no ad network is attributed → organic.

Event naming

Branch uses different casing conventions for event names:

  • System events - lowercase: install, reinstall, open.
  • Standard commerce events - uppercase: PURCHASE, SUBSCRIBE, ADD_TO_CART.
  • Custom events - whatever name your app uses.