> ## Documentation Index
> Fetch the complete documentation index at: https://docs.subtotal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Attentive

> Send events to Attentive when a customer makes a purchase.

## Overview

Our integration with [Attentive](https://attentive.com) makes it easy to reward customers for linking accounts and making retail purchases.

We'll show you how to make the most out of this integration.

## Connect your Attentive account

Sign in to the Subtotal Dashboard and connect your Attentive account to enable the integration.

Navigate to [*Integrations -> Attentive -> Connect*](https://dashboard.subtotal.com/integrations/attentive).

Click the `Connect Attentive` button.

<img src="https://mintcdn.com/typecastleinc/rWC4pMP5Mv_G5OWc/images/integrations/attentive/attentive-inactive.png?fit=max&auto=format&n=rWC4pMP5Mv_G5OWc&q=85&s=d5fd4a96171e2edfa6ba9e8c29bf0bcc" alt="subtotal attentive integration" className="rounded-lg border border-gray-100" width="2126" height="722" data-path="images/integrations/attentive/attentive-inactive.png" />

## Configuration

| Setting                 | Description                                                                                                                            |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Customer Identifier** | The field on the connection to use when identifying the customer in the Attentive platform: **Email**, **Customer ID**, or **Mobile**. |

## Event types

Subtotal delivers the following [custom events](https://docs.attentive.com/pages/developer-guides/custom-events/) to Attentive. Each event can be used to trigger journeys or build segments.

### Connected an Account

Sent when a customer connects a retailer account.

| Key             | Type   | Description                   |
| --------------- | ------ | ----------------------------- |
| `connection_id` | string | Identifier for the connection |

**Example**

```json theme={null}
{
  "connection_id": "01KFRSK9J11G807TAY0GCYSW67"
}
```

### Purchased at Retailer

Sent for each historical purchase and for any newly detected purchases.

| Key           | Type   | Description                 |
| ------------- | ------ | --------------------------- |
| `purchase_id` | string | Identifier for the purchase |

**Example**

```json theme={null}
{
  "purchase_id": "01KEVN1ZPM9H19JSHGN5NF0M69"
}
```

### Profile Created

Sent the first time Subtotal captures a customer's profile for a connection — their identity details and purchase metrics scoped to your brands.

| Key                        | Type   | Description                                                                    |
| -------------------------- | ------ | ------------------------------------------------------------------------------ |
| `connection_id`            | string | Identifier for the connection                                                  |
| `first_name`               | string | Customer's first name (`null` if unavailable)                                  |
| `last_name`                | string | Customer's last name (`null` if unavailable)                                   |
| `email`                    | string | Customer's email address (`null` if unavailable)                               |
| `mobile`                   | string | Customer's mobile phone number (`null` if unavailable)                         |
| `postal_code`              | string | Customer's postal code (`null` if unavailable)                                 |
| `account_created_date`     | string | When the customer's retailer account was created (ISO 8601; `null` if unknown) |
| `total_purchases`          | number | All-time number of purchases on the connected account                          |
| `last_purchase_date`       | string | Date of the most recent purchase (ISO 8601; `null` if none)                    |
| `brand_purchases`          | number | Number of those purchases matching your brands                                 |
| `last_brand_purchase_date` | string | Date of the most recent brand purchase (ISO 8601; `null` if none)              |
| `brand_purchase_rate`      | number | `brand_purchases` ÷ `total_purchases`, from `0.0` to `1.0`                     |

**Example**

```json theme={null}
{
  "connection_id": "01KFRSK9J11G807TAY0GCYSW67",
  "first_name": "Jessica",
  "last_name": "Smith",
  "email": "jessica@acme.com",
  "mobile": "+123456789",
  "postal_code": "84101",
  "account_created_date": "2024-03-12T00:00:00Z",
  "total_purchases": 42,
  "last_purchase_date": "2026-01-15T14:30:00Z",
  "brand_purchases": 7,
  "last_brand_purchase_date": "2026-01-14T09:45:00Z",
  "brand_purchase_rate": 0.17
}
```

### Profile Updated

Sent when a previously captured profile changes — for example an updated email or postal code, or when new purchases shift the brand-purchase metrics. Carries the same properties as **Profile Created**.

| Key                        | Type   | Description                                                                    |
| -------------------------- | ------ | ------------------------------------------------------------------------------ |
| `connection_id`            | string | Identifier for the connection                                                  |
| `first_name`               | string | Customer's first name (`null` if unavailable)                                  |
| `last_name`                | string | Customer's last name (`null` if unavailable)                                   |
| `email`                    | string | Customer's email address (`null` if unavailable)                               |
| `mobile`                   | string | Customer's mobile phone number (`null` if unavailable)                         |
| `postal_code`              | string | Customer's postal code (`null` if unavailable)                                 |
| `account_created_date`     | string | When the customer's retailer account was created (ISO 8601; `null` if unknown) |
| `total_purchases`          | number | All-time number of purchases on the connected account                          |
| `last_purchase_date`       | string | Date of the most recent purchase (ISO 8601; `null` if none)                    |
| `brand_purchases`          | number | Number of those purchases matching your brands                                 |
| `last_brand_purchase_date` | string | Date of the most recent brand purchase (ISO 8601; `null` if none)              |
| `brand_purchase_rate`      | number | `brand_purchases` ÷ `total_purchases`, from `0.0` to `1.0`                     |

**Example**

```json theme={null}
{
  "connection_id": "01KFRSK9J11G807TAY0GCYSW67",
  "first_name": "Jessica",
  "last_name": "Smith",
  "email": "jessica.smith@acme.com",
  "mobile": "+123456789",
  "postal_code": "84101",
  "account_created_date": "2024-03-12T00:00:00Z",
  "total_purchases": 43,
  "last_purchase_date": "2026-02-02T18:05:00Z",
  "brand_purchases": 8,
  "last_brand_purchase_date": "2026-02-02T18:05:00Z",
  "brand_purchase_rate": 0.19
}
```
