Branch integration for Tapper Block
Connect Branch to Tapper Block to detect invalid installs and in-app events across your mobile campaigns.
Connecting Branch to Tapper Block takes two steps: add the app in Tapper and switch on Block for it, then enable Tapper as an ad partner in Branch and enter the two values Tapper gives you. No SDK changes are needed.
Tapper detects and records invalid installs and events from Branch. It does not reject them in Branch.
What you need from Branch
| Credential | Where to find it |
|---|---|
| Branch Key | Branch dashboard → Account Settings → App, section Branch Key and Secret. Use the live key, which starts with key_live_. |
Create the integration in Tapper
Open Setup > Mobile app. With no app yet, the page opens on the add form; otherwise click Add app at the end of the list on the left. Enter a Name, tick the Platforms, choose Branch as the Tracking tool, enter your Branch Key and click Add app. On a new workspace, Add mobile app on the Mobile app row of the connect step opens the same form.
On the app's page, turn on the switch on the Block card, under Access. The dialog asks for nothing: click Switch on. Tapper makes an Integration ID, a secret and a callback address.
The dialog shows the Integration ID and the Secret, each with a copy button, and the Branch steps. You enter both in Branch next. The secret is shown only in this dialog; afterwards the app's Access card keeps a preview. The Callback address is for reference: Branch fills it in from the two values.
Configure Tapper in Branch
Tapper is a listed Branch ad partner, so there is nothing to build by hand: enable Tapper, give it the two values, and widen the postbacks.
Required: tick All Events on every Tapper postback, and leave any condition or filter empty. Scoped to attributed traffic only, a postback fires only for events already attributed to Tapper, so a new integration receives zero events until campaigns attributed to Tapper exist. It looks broken while it is only filtered.
If the integration shows no events but test postbacks succeed, check this setting first.
In the Branch dashboard, open Ads Partners → Partner Management, search for Tapper, and enable it.
Tapper's form in Branch asks for two values:
| Branch field | What to enter |
|---|---|
| Integration ID | The numeric Integration ID from Tapper. It is also on the app's Access card, with a copy button. |
| Webhook Secret | The secret you copied when you switched on Block. Lost it? See Replace the webhook secret. |
Tick All Events on every Tapper postback, and leave any condition or filter empty. The warning above explains why.
Save the partner configuration. Events appear in Tapper within minutes.
Back in Tapper, the app's Block card shows Waiting for first install until Branch sends its first postback, then Receiving events or Receiving installs.
Branch sends one postback per event, so enable every event you want analyzed: installs, reinstalls, opens, and any commerce or custom events your app sends.
Replace the webhook secret
On the app's Access card, click Replace next to Secret. Type a new one of at least 32 characters or click Generate, then click Replace. The old secret stops working at once and the new one is shown once.
Enter the new secret in the Webhook Secret field of Tapper's partner form in Branch. Until you do, Tapper refuses Branch's postbacks.
What data is captured
Tapper reads three blocks of each Branch postback: user data, last attributed touch data and event data. From them it takes:
- Attribution: ad partner, campaign and campaign ID, ad set name and ID, ad name and ID, and publisher.
- Activity type: install, reinstall, open or in-app event.
- Click identifiers:
~click_id,~clickid, the partner's touch ID when the touch was a click,~gbraid,~wbraidand~fbclid, used to match the event back to its click. - Device: IDFA, GAID, IDFV, device model, OS, OS version, app version, language and carrier.
- Location: IP address, country, region and city.
- Timing: click time when the attributed touch was a click, store install begin time, and install time.
- Revenue: amount and currency.
Fields Tapper does not use directly are kept with the event.
Organic and paid
Tapper reads each event as paid or organic from the attribution Branch sends:
- Paid: Branch names an ad partner other than
Organic, or marks the event as attributed. - Paid: Branch sends no attribution flag but names a channel.
- Organic: none of the above.
Event names
Tapper reads standard activity names such as install, reinstall and open as system events, whatever their casing. Any other event name, such as PURCHASE, ADD_TO_CART or one of your custom events, is kept as your app names it.