š
Axon is AppLovinās AI-powered advertising engine that powers its performance marketing solutions. It uses large-scale machine learning models to match advertiser demand with publisher supply in real time. By analyzing extensive in-app behavioral, device, and engagement data, Axon predicts which users are most likely to install, engage with, or make purchases within an app. The system continuously trains and optimizes to improve return on ad spend (ROAS) and campaign efficiency across AppLovinās advertising ecosystem.
Product Type: Advertising
Integration Type: Starter Kit & Sync
Event Source Type: Web, Mobile Web, & Mobile App
Event Scope: Full-Funnel Events
- Sends standard funnel events (browse, search, product, cart, checkout, purchase) to Axon.
- Supports both web and app event contexts through a single server-side integration.
- Passes Axon-supported user identifiers to improve attribution and matching.
- Supports event batching to reduce request volume.
- Axon requires at least one stable user identifier on each event. For web integrations,
client_id should be used as the primary identifier. For mobile app integrations, alart may be used in place of client_id when present via URL parameter sync. Events without a valid user identifier may not be accepted or properly attributed.
- Axon supports batching up to 100 events per request; if any event in a batch is invalid, Axon drops the entire batch.
- Axon requires āPixel Setupā to view the Events dashboard. For setup, at least
purchase, add_to_cart, begin_checkout, page_view, and view_item must be sent. These events can be sent via the API.
- The
Authorization header includes a default value. Axon expects MetaRouter customers to use a shared API key, but this parameter remains configurable in the UI.
- Axon expects
data.items.price to reflect the discounted per-unit price, with any discount provided separately in a discount field. This Starter Kit maps price directly and does not send a separate discount value.
- Axon may generate warnings when
data.items.item_category is sent as a string. Some implementations expect predefined numeric category_id values instead of custom category strings.
- Sync Available: Yes
- Required for Starter Kit: Yes
- Prerequisites: None
- Documentation: See Additional Axon Sync Documentation
- Capture the click identifiers used for attribution (
aleid, alart).
- Required for conversion attribution.
- Without this sync, conversions may not be attributed to Axon/AppLovin campaigns.
- To collect the sync values (e.g.,
aleid, alart), you must implement a Axon ID sync. Refer to the following documentation to complete the setup: Axon - ID Sync Guide.
PIXEL_ID ā Available in the Events dashboard within the Axon UI. If you cannot locate your Pixel ID, contact your Axon representative for assistance.
- From the integration library, add a Axon integration. Then, fill out the Connection Parameters:
| Connection Parameter | Description |
|---|
PIXEL_ID | String: Axon pixel identifier sent as the pixel_id query parameter. |
AUTH_KEY | String: API Access Token used in the Authorization request header. This is fixed and should not be changed unless advised by your Axon rep. |
- MetaRouter provides all of the event mappings that Axon integrations typically require. You may add custom events, parameters, or mappings in accordance with Axonās API documentation.
- In the Pipelines tab, add your Axon integration.
- Select the correct integration revision
- Click Add Integration to finalize deployment.
Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.
| Output Key | Description | Expected Input |
|---|
event_time Required | Integer: Unix epoch time in milliseconds. | Expression ā convert RFC3339 timestamp to Unix epoch (ms) |
event_source_url Required | String: Full URL where the event occurred. | context.page.url |
user_data.aleid Required | String: Axon click identifier from the aleid URL parameter/cookie. | context.providers.axon.aleid |
user_data.alart Required*See note | String: Axon identifier from the alart URL query parameter (app contexts). | context.providers.axon.alart |
user_data.client_id Required*See note | String: Stable first-party user identifier. | anonymousId |
user_data.client_ip_address Required | String: Client IP address associated with the event. | context.ip |
user_data.client_user_agent Required | String: Client user agent associated with the event. | context.userAgent |
user_data.esi Required | String: Event source indicator (web or app). | Expression ā set web unless context.device.type is present, then app |
user_data.ifa | String: Advertising identifier (IDFA/GAID). | context.device.advertisingId |
user_data.idfv | String: iOS vendor identifier when available. | Expression ā use context.device.id when device type is ios |
user_data.os | String: Operating system (ios, android, or desktop_os). | Expression ā map from context.device.type |
user_data.zip | String: Billing ZIP/postal code (first 5 digits for US ZIPs). | traits.address.postalCode |
*For web integrations, client_id should be used as the primary identifier. For mobile app integrations, alart may be used in place of client_id when present via URL parameter sync.
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'app_open' |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'login' |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'page_view' |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'search' |
data.search_term | String: Search query text. | properties.query |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'view_item' |
data.currency | String: Currency code (ISO 4217). | properties.currency |
data.value | Number: Total value associated with the product view. | Expression ā calculate total from properties |
data.items | Array: Single-item array derived from product properties. | Expression ā map from properties to item fields |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'add_to_cart' |
data.currency | String: Currency code (ISO 4217). | properties.currency |
data.value | Number: Total value associated with the add to cart. | Expression ā calculate total from properties |
data.items | Array: Single-item array derived from product properties. | Expression ā map from properties to item fields |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'remove_from_cart' |
data.currency | String: Currency code (ISO 4217). | properties.currency |
data.value | Number: Total value associated with the remove from cart. | Expression ā calculate total from properties |
data.items | Array: Single-item array derived from product properties. | Expression ā map from properties to item fields |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'view_cart' |
data.currency | String: Currency code (ISO 4217). | properties.currency |
data.value | Number: Total cart value. | Expression ā sum from properties.products |
data.items | Array: Line items derived from cart products. | Expression ā map from properties.products to item fields |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'begin_checkout' |
data.currency | String: Currency code (ISO 4217). | properties.currency |
data.value | Number: Total checkout value. | Expression ā sum from properties.products |
data.items | Array: Line items derived from checkout products. | Expression ā map from properties.products to item fields |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'add_payment_info' |
data.currency | String: Currency code (ISO 4217). | properties.currency |
| Output Key | Description | Expected Input |
|---|
name Required | String: Axon event name. | Enrichment ā hardcoded value 'purchase' |
data.user_id | String: Your internal user identifier. | userId |
data.transaction_id | String: Order/transaction identifier. | properties.order_id |
data.shipping | Number: Shipping amount for the order. | properties.shipping |
data.tax | Number: Tax amount for the order. | properties.tax |
data.currency | String: Currency code (ISO 4217). | properties.currency |
data.value | Number: Total order value. | Expression ā sum from properties.products |
data.items | Array: Line items derived from order products. | Expression ā map from properties.products to item fields |
These identifiers must be mapped to Axon in order for successful user matching to occur. Without these IDs, any events sent to Axon may not be accurately reflected in reporting.
| Attribute | Example | Sync Injector Required? |
|---|
aleid Required | aleid_01HZX9K2Q7 | Yes |
alart Required* | alart_01HZX9K2Q7 | Yes |
client_id Required* | c1b2a3f4e5d6a7b8 | No |
ifa Recommended | 38400000-8cf0-11bd-b23e-10b96e40000d | No |
idfv Recommended | A1B2C3D4-E5F6-47A8-9B0C-1D2E3F4A5B6C | No |
client_ip_address Recommended | 203.0.113.10 | No |
client_user_agent Recommended | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) | No |
*For web integrations, client_id should be used as the primary identifier. For mobile app integrations, alart may be used in place of client_id when present via URL parameter sync.
After deployment, monitor the Events dashboard in the Axon UI to confirm events are being received. In addition to your own validation, ask your Axon representative to review the events on their end and confirm that identifiers (e.g., client_id, aleid, alart) are being received and processed as expected.