Branch

Send conversion and engagement events to Branch server-to-server for mobile attribution, deep linking, and cross-platform conversion tracking.

⚠️

This blueprint is currently alpha — schema and behaviour may change before GA.

Prerequisites

Before configuring Branch in Signal, you need a Branch account, an app registered in the Branch dashboard, and your Branch Key and Branch Secret.

Get your Branch credentials

Step 1: Create a Branch account

  1. Go to branch.io and sign up or sign in.
  2. Complete the onboarding wizard and create a new app if you do not already have one.

Step 2: Find your Branch Key and Branch Secret

  1. In the Branch dashboard, open Account Settings > Profile.
  2. Locate the App section.
  3. Copy the Branch Key (live key, format key_live_xxxxxxxxxx).
  4. Click Show Secret and copy the Branch Secret.
⚠️

The Branch Secret authenticates server-to-server event delivery. Store it in your secrets manager — leaking it would let anyone post events to your Branch app.

Step 3: Configure your event taxonomy

  1. In the Branch dashboard, open Data Feeds > Custom Events (or Liveview).
  2. Confirm that the standard commerce events (PURCHASE, ADD_TO_CART, VIEW_ITEM, etc.) are enabled.
  3. If you use custom event names, create them in Branch before sending — Branch will accept unknown names but they won’t appear in standard reports. [verify with current vendor docs]

Configure the integration in Signal

Configuration Fields

FieldRequiredDescription
branch_keyYesYour Branch live key (e.g. key_live_xxxxxxxxxx). Found in Account Settings > Profile.
branch_secretYesYour Branch secret. Found in Account Settings > Profile (click “Show Secret”).

Management UI Setup

  1. Go to Integrations in the sidebar.
  2. Open the Integration Library tab.
  3. Find Branch or filter by Attribution.
  4. Click Install and enter your Branch Key and Branch Secret.
  5. Click Install Integration.

Management API Setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/branch/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Branch",
    "variant": "retail",
    "config": {
      "branch_key": "key_live_xxxxxxxxxx",
      "branch_secret": "your_branch_secret"
    },
    "delivery_mode": "server_side"
  }'

Event Mapping

The Retail variant maps the following Datafly events to Branch commerce events:

Datafly EventBranch EventNotes
Product Addedadd_to_cartProduct details as content items
Order CompletedpurchaseRequires revenue, currency, transaction_id
Custom eventsPassed throughAdd the Branch event name in the blueprint event map

Identity

The default blueprint forwards the following identifiers to Branch:

SourceBranch field
user_idcustomer_id
context.ipip_address
context.user_agentuser_agent

Branch matches events to its deep-link click graph using device identifiers (idfa, gps_adid, idfv) plus Branch’s own customer_event_alias. Pass these from your mobile app via the Datafly mobile SDK for accurate attribution.

Default consent category: advertising. Branch is a paid-media attribution destination — gate behind advertising consent in your CMP.

Verify it’s working

  1. Trigger a test event from a test device or browser.
  2. In the Signal Management UI, open your Branch integration and watch the Live Events stream.
  3. In the Branch dashboard, open Liveview — events appear in real-time.
  4. Confirm 200 responses in Signal’s Live Events log.

Troubleshooting

SymptomCauseFix
401 UnauthorizedInvalid Branch Key or SecretRe-copy both from Account Settings > Profile and update Signal.
Events not joining click attributionMissing device identifierCapture idfa, idfv, or gps_adid from the Branch SDK and pass them via the Datafly mobile SDK.
Custom event names not appearing in reportsEvent not pre-registered in BranchCreate the custom event in Branch’s dashboard before sending. [verify with current vendor docs]
Revenue not trackedMissing revenue or currencyEnsure Order Completed events include total/revenue and currency.

Blueprint

The Branch blueprint version is 0.1.0 (alpha). It ships with a Retail variant covering add_to_cart and purchase events.

See also