---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/segment/connections/destinations/catalog/button#article
headline: Button Destination
description: Connect the Button destination to Segment to send track events for deep links, app installs, and orders to Button's mobile commerce platform.
url: https://www.twilio.com/docs/segment/connections/destinations/catalog/button
inLanguage: en
dateModified: 2026-07-15T17:40:17.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Button Destination

## Destination Info

* Accepts [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Button** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)
* This integration is **partner owned.** Please reach out to the partner's support for any issues.

[Button](https://usebutton.com?utm_source=segmentio\&utm_medium=docs\&utm_campaign=partners) is the mobile commerce technology company that is powering a commerce-driven internet. The Button platform powers mobile business growth for the world's largest brands and publishers, while offering consumers more seamless, enjoyable experiences.

This destination is maintained by Button. For any issues with the destination, [contact the Button Support team](mailto:support@usebutton.com).

## Getting Started

> \[!NOTE]
>
> Contact your Button representative for your Button API Key.

1. From the Destinations catalog page in the Segment App, click **Add Destination**.
2. Search for "Button" in the Destinations Catalog, and select the Button destination.
3. Choose which Source should send data to the Button destination.
4. Enter the "API Key" in the Button destination settings in Segment.

## Track

Segment sends Track calls to Button as a `track` event. To learn what the [Track method](/docs/segment/connections/spec/track/) does, see the Segment Spec. An example call looks like:

```js
analytics.track('Deep Link Opened')
```

### Deep links

To track deep links from your app or website, use Segment's [Deep Link Opened](/docs/segment/connections/spec/mobile/#deep-link-opened) and [Application Opened](/docs/segment/connections/spec/mobile/#application-opened) events.

Make sure you pass the referring URL. An example would look like:

```js
analytics.track('Application Opened' { someProperty: true }, {
  userId: '1234567890',
  properties: {
    url: 'brand-app://?btn_ref=srctok-XXX'
  }
  ...
})
```

> \[!TIP]
>
> **Tip!** Make sure you record any different names for `Deep Link Opened` Track events across your sources so you know which are sent where.

### Installs

To track mobile app installs, use Segment's [Application Installed](/docs/segment/connections/spec/mobile/#application-installed) event.

Capture the referring URL when possible. An example would look like:

```js
analytics.track('Application Installed' { someProperty: true }, {
  userId: '1234567890',
  properties: {
    url: 'https://brand-homepage.com?btn_ref=srctok-XXX'
  },
  context {
    app: { version: '4.15.0' },
    device: {
      adTrackingEnabled: false,
      advertisingId: 'XXXXXXXX-YYYY-ZZZZ-1111-222222222222'
    },
    ip: '127.0.0.1',
    locale: 'en-US',
    os: {
      name: 'iOS',
      version: '14.2'
    }
  }
  ...
})
```

> \[!TIP]
>
> **Tip!** Make sure you record any different names for `Application Installed` Track events across your sources so you know which are sent where.

### Orders

To track `order` events from your app or website, use Segment's [Order Completed](/docs/segment/connections/spec/ecommerce/v2/#order-completed) event.

An example call would look like:

```js
analytics.track('Order Completed' { someProperty: true }, {
  userId: '1234567890',
  properties: {
    subtotal: 7500,
    products: [
      {
         sku: 'sku-123',
         description: 'T-Shirt',
         size: 'L',
         price: 2500,
         quantity: 1,
         category: 'Clothing',
      },
      {
         sku: 'sku-456',
         description: 'Joggers',
         size: 'M',
         price: 5000,
         quantity: 1,
         category: 'Clothing',
      }
    ]
  }
})
```

> \[!TIP]
>
> **Tip!** Make sure you record any different names for `Order Completed` Track events across your sources so you know which are sent where.

## Setting up a Destination Filter

If you are a Business Tier customer, you can set up a [Destination Filter](/docs/segment/connections/destinations/destination-filters/) to only send your `Deep link` and `Order` events to Button.

Read [Button's Destination Filter documentation](https://developer.usebutton.com/docs/segment-integration-guide) to learn more.

## Engage

You can send computed traits and audiences generated using [Engage](/docs/segment/engage) to this destination as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/contact/demo).

For user-property destinations, an [identify](/docs/segment/connections/spec/identify/) call is sent to the destination for each user being added and removed. The property name is the snake\_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

## Settings

Segment lets you change these destination settings from the Segment app without having to touch any code.

| Field   | Description                                                                                          | Required | Type   |
| ------- | ---------------------------------------------------------------------------------------------------- | -------- | ------ |
| API Key | Please contact your Button representative for instructions on finding your Segment-specific API key. | Yes      | string |
