Button

Send conversion and commerce event data to Button server-to-server for mobile commerce attribution, partnership optimisation, and revenue tracking.

⚠️

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

Prerequisites

Complete these steps in the Button dashboard before configuring Signal.

Create a Button account

Sign up at usebutton.com and log in to the Button Dashboard.

Create an application

Navigate to Settings > Applications and click Create Application. Enter your app name and platform details. Each application represents a distinct property (website or app) that sends events to Button.

Find your Application ID

After creating the application, your Application ID is displayed on the application detail page. It typically follows the format app-xxxxxxxxxxxxxxxx.

Find your API key

Go to Settings > API Keys in the Button Dashboard. Copy your API Key. This key authenticates all server-to-server event delivery from Signal.

Configure your commerce events

In the Button Dashboard, define which commerce events (e.g. purchases, add-to-cart) you want to track. This ensures Button correctly processes the events Signal delivers.

Configuration

FieldTypeRequiredDescription
application_idstringYesYour Button application ID from Settings > Applications.
api_keysecretYesYour Button API key from Settings > API Keys.

Signal Setup

Quick Setup

  1. Navigate to Integrations in the sidebar.
  2. Open the Integration Library tab.
  3. Find Button or filter by Attribution.
  4. Click Install, select a variant if available, and fill in the required fields.
  5. Click Install Integration to create the integration with a ready-to-use default blueprint.

API Setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/button/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Button",
    "variant": "default",
    "config": {
      "application_id": "app-abc123def456",
      "api_key": "your_api_key"
    },
    "delivery_mode": "server_side"
  }'

Event Mapping

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

Datafly EventButton EventNotes
Product Addedadd_to_cartCart-stage event
Order CompletedpurchaseRequires order_id, total, currency, line items
Custom eventsPassed throughAdd the Button event type in the blueprint event map

Identity

The default blueprint forwards the following identifiers to Button:

SourceButton field
user_idcustomer_id
context.ipip_address
context.user_agentuser_agent

Button’s btn_ref referral token is the primary attribution key. Capture it from inbound URLs on your landing page and pass it via Datafly.js so it reaches Button with each conversion.

Default consent category: advertising. Button commerce attribution is a paid-partnership destination — gate behind advertising consent in your CMP.

Button uses a btn_ref attribution token to link conversions to the originating partner. Ensure your site captures the Button referral token from inbound URLs and includes it in Signal events.

Verify it’s working

  1. Generate a test referral through a Button partner link to obtain a valid btn_ref token.
  2. Trigger a test conversion on your site that fires a Datafly event.
  3. In the Signal Management UI, open your Button integration and watch the Live Events stream.
  4. In the Button Dashboard, navigate to Reports > Orders and verify your test conversion appears.
  5. Confirm 200 responses in Signal’s Live Events log.

Troubleshooting

SymptomCauseResolution
401 UnauthorizedInvalid API keyVerify api_key in Button Settings > API Keys and update Signal.
400 Bad RequestMissing required fieldsEnsure order_id and total are mapped in the blueprint.
Conversions not attributedMissing btn_ref tokenCapture the Button referral token from the landing page URL and include it in events.
Wrong applicationIncorrect application_idVerify the application ID matches the property you are tracking.

Visit Button documentation for full API reference and credential setup instructions.

Blueprint

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

See also