> For the complete documentation index, see [llms.txt](https://docs.chord.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chord.co/activate/event-streaming/destinations/advertising/applovin-axon.md).

# AppLovin Axon

AppLovin Axon is a measurement and audience platform that helps advertisers track conversions, optimize campaigns, and build targeted audiences. The Axon pixel collects event data from your website to power AppLovin's ad optimization engine.

## Getting started

This is a browser destination. Chord loads the Axon pixel for you, so you don't install any script.

You need your Axon Event Key, which you get from your AppLovin dashboard.

## Settings

* **Destination Name** (required): a name to tell this destination apart.
* **Event Key** (required): your Axon Event Key, found in your AppLovin dashboard under **Account > General > Keys**.
* **Consent Requirements** (optional): the consent categories a visitor must accept before Chord sends data to this destination. See [Consent](/activate/event-streaming/consent.md).

## Connect

Add **AppLovin Axon** from the destination catalog, using the settings above. See [Connect a destination](/activate/event-streaming/connect-a-destination.md) for the full steps.

## Events

### Event mapping

Chord event names are mapped to Axon standard event names. Unmapped event names are passed through as-is.

**Required events (purchase sites)**

| Chord event                                                         | AppLovin Axon event | Notes |
| ------------------------------------------------------------------- | ------------------- | ----- |
| [Product Viewed](/collect-data/tracking-plan/product-viewed.md)     | view\_item          |       |
| [Product Added](/collect-data/tracking-plan/product-added.md)       | add\_to\_cart       |       |
| [Checkout Started](/collect-data/tracking-plan/checkout-started.md) | begin\_checkout     |       |
| [Order Completed](/collect-data/tracking-plan/order-completed.md)   | purchase            |       |

**Recommended events**

| Chord event                                                                 | AppLovin Axon event | Notes |
| --------------------------------------------------------------------------- | ------------------- | ----- |
| [Payment Info Entered](/collect-data/tracking-plan/payment-info-entered.md) | add\_payment\_info  |       |
| [Cart Viewed](/collect-data/tracking-plan/cart-viewed.md)                   | view\_cart          |       |
| [Product Removed](/collect-data/tracking-plan/product-removed.md)           | remove\_from\_cart  |       |
| [Products Searched](/collect-data/tracking-plan/products-searched.md)       | search              |       |
| [Signed Up](/collect-data/tracking-plan/signed-up.md)                       | sign\_up            |       |
| Logged In / User Logged In                                                  | login               |       |
| Subscribe / Subscribed                                                      | subscribe           |       |
| Lead Generated                                                              | generate\_lead      |       |

## Event details

### Page

Fires an Axon page view tracking call.

**Axon SDK call:** `axon("track", "page_view")`

No additional attributes are sent with page events.

### Identify

Sends user identity to Axon.

**Axon SDK call:** `axon("identify", userId, traits?)`

| Chord source (priority order) | AppLovin Axon field | Notes                                        |
| ----------------------------- | ------------------- | -------------------------------------------- |
| `userId` > `anonymousId`      | `userId`            | Required; event is skipped if neither is set |
| `traits`                      | `traits`            | Optional; only sent if non-empty             |

### Track

Sends a tracked event to Axon. The payload structure varies by event type.

**Common attributes (all track events)**

The following attributes are included on every track event when the source data is available:

| Chord source (priority order)                        | AppLovin Axon field | Notes                                                                                       |
| ---------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------- |
| `properties.email` > `context.traits.email`          | `user_data.email`   | `user_data` object is only included if at least one of email, phone, or user\_id is present |
| `properties.phone` > `context.traits.phone`          | `user_data.phone`   |                                                                                             |
| `userId` > `traits.userId` > `context.traits.userId` | `user_data.user_id` |                                                                                             |

**Common attributes (item-based events)**

The following events also include items, currency, and value: `view_item`, `add_to_cart`, `begin_checkout`, `purchase`, `add_payment_info`, `view_cart`, `remove_from_cart`.

| Chord source (priority order)                                                                               | AppLovin Axon field | Notes                                                                                                  |
| ----------------------------------------------------------------------------------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------ |
| `properties.products`                                                                                       | `items`             | Array of Axon items (see Item Attributes below). Products without an identifiable ID are filtered out. |
| `properties.currency` > `properties.meta.i18n.currency` > `"USD"` (default)                                 | `currency`          |                                                                                                        |
| `properties.total` > `properties.revenue` > `properties.value` > `properties.price` > sum of product prices | `value`             |                                                                                                        |

**Item attributes**

Each product in `properties.products` is transformed to an Axon item:

| Chord source (priority order)                            | AppLovin Axon field | Notes                                         |
| -------------------------------------------------------- | ------------------- | --------------------------------------------- |
| `product_id` / `productId` > `id` / `sku` / `variant_id` | `item_id`           | Required; product is excluded if none resolve |
| `name` / `productName` / `product_name`                  | `item_name`         |                                               |
| `price` / `productPrice`                                 | `price`             |                                               |
| `quantity` / `productQuantity`                           | `quantity`          |                                               |
| `image_url`                                              | `image_url`         |                                               |
| `variant_id`                                             | `item_variant_id`   |                                               |
| `brand`                                                  | `item_brand`        |                                               |
| `affiliation`                                            | `affiliation`       |                                               |
| `discount`                                               | `discount`          |                                               |
| `item_category_id`                                       | `item_category_id`  |                                               |

### Checkout Started

Fires a `begin_checkout` event. Includes the common item-based attributes above. If Chord finds no `value` from the sources listed there, it sends the raw `properties.value` from the event.

**Axon SDK call:** `axon("track", "begin_checkout", properties)`

### Order Completed

Fires a purchase event. Includes the common item-based attributes above, plus:

**Axon SDK call:** `axon("track", "purchase", properties)`

| Chord source (priority order)                                                                               | AppLovin Axon field | Notes                                                 |
| ----------------------------------------------------------------------------------------------------------- | ------------------- | ----------------------------------------------------- |
| `properties.cart_id` > `properties.cartId` > `properties.order_id` > `properties.orderId` > `properties.id` | `transaction_id`    | A cart ID wins over an order ID when both are present |
| `properties.tax`                                                                                            | `tax`               |                                                       |
| `properties.shipping`                                                                                       | `shipping`          |                                                       |

### Payment Info Entered

Fires an add payment info event. Includes the common item-based attributes above, plus:

**Axon SDK call:** `axon("track", "add_payment_info", properties)`

| Chord source (priority order)                           | AppLovin Axon field | Notes |
| ------------------------------------------------------- | ------------------- | ----- |
| `properties.payment_type` > `properties.payment_method` | `payment_type`      |       |

### Products Searched

Fires a search event.

**Axon SDK call:** `axon("track", "search", properties)`

| Chord source (priority order)                                     | AppLovin Axon field | Notes                                                   |
| ----------------------------------------------------------------- | ------------------- | ------------------------------------------------------- |
| `properties.search_term` > `properties.query` > `properties.term` | `search_term`       |                                                         |
| `properties.results`                                              | `results`           | Array of items, transformed using the same item mapping |

### Signed Up

Fires a sign-up event.

**Axon SDK call:** `axon("track", "sign_up", properties)`

| Chord source (priority order) | AppLovin Axon field | Notes    |
| ----------------------------- | ------------------- | -------- |
| `properties.method`           | `method`            | Optional |

### Subscribe / Subscribed

Fires a subscribe event.

**Axon SDK call:** `axon("track", "subscribe", properties)`

| Chord source (priority order) | AppLovin Axon field | Notes    |
| ----------------------------- | ------------------- | -------- |
| `properties.currency`         | `currency`          | Optional |
| `properties.value`            | `value`             | Optional |

### Logged In / User Logged In

**Axon SDK call:** `axon("track", "login")`

No additional attributes are sent beyond the user data above.

### Lead Generated

**Axon SDK call:** `axon("track", "generate_lead")`

No additional attributes are sent beyond the user data above.

### Unmapped events

Events not listed in the event mapping tables are passed through to Axon using the original event name, with `properties` forwarded as-is.

**Axon SDK call:** `axon("track", eventName, properties)`

## Initialization

When the Axon destination is enabled, p.js injects the Axon pixel scripts into the page on first event:

* `https://s.axon.ai/pixel.js`
* `https://c.albss.com/p/l/loader.iife.js`

Before the scripts load, a `window.axon` stub is created that queues all calls. Once the real SDK loads it replays the queue automatically, so no events are lost during initialization. `axon("init")` is called immediately after the stub is created to begin the SDK initialization handshake.

Preconnect and DNS-prefetch hints for `https://s.axon.ai` and `https://c.albss.com` are also injected to reduce script load latency.

## CSP requirements

If your site uses a Content Security Policy, allow the following domains:

| Directive     | Domain                                     |
| ------------- | ------------------------------------------ |
| `script-src`  | `https://s.axon.ai`, `https://c.albss.com` |
| `connect-src` | `https://s.axon.ai`, `https://c.albss.com` |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.chord.co/activate/event-streaming/destinations/advertising/applovin-axon.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
