This page explains how to send server-to-server (S2S) events to the Axon Event API, with guidance tailored for specific advertisers. Advertisers subject to these requirements must implement a restricted lead-generation flow and follow the requirements on this page. Per AppLovin policies and requirements, you may not pass any other fields, including custom events or objects, beyond those listed in this specification.
Send a POST request to https://b.applovin.com/v1/event.
Set the value of the Authorization header to your Conversion API key.
| Name | Type | Required | Description |
|---|---|---|---|
pixel_id | string | true | Your Axon event key |
| Code | Description |
|---|---|
| 200 | All events processed successfully. |
| 400 | Error in the request; entire batch is dropped. |
| 401 | Authentication failed. |
The POST payload of your HTTP request describes the event or events that you submit:
| Name | Type | Required | Description |
|---|---|---|---|
events | ServerEvent[] | true | List of events to submit. All events must be valid. Any invalid event will fail the batch. Maximum batch size is 100. |
| Name | Type | Required | Description |
|---|---|---|---|
data | EventData | true | The data for this event. See EventData below for the data to send for each Event. |
event_source_url | string | true | URL truncated to the domain where the event occurred. Important: Do not pass the entire URL path. Send only the domain URL (e.g., https://applovin.com/ instead of https://applovin.com/signup. |
event_time | number | true | The current Unix epoch time in milliseconds |
name | string | true | The name for this event. Only page_view and generate_lead are valid. Trigger page_view when a user navigates to a new page on your site. Trigger generate_lead when a potential customer expresses interest, typically by submitting a form. For example, when a user submits a contact form to receive more information about a product. |
user_data | UserData | true |
| Name | Type | Required | Description |
|---|---|---|---|
currency | string | true | Three-letter ISO 4217 code for currency |
value | number | true | The monetary value of the action, reflecting its quality or true value to your business. Pass a higher value for strong leads and 0 for duplicate submissions or low-quality leads. Leads with a value of 0 may be discounted or excluded from optimization. |
data is required for every event.
For page_view, set data to null.
For generate_lead, always send { "currency": "«ISO-4217»", "value": «number» }.
| Name | Type | Required | Description |
|---|---|---|---|
alart | string | true* | alart set as a query parameter.*See Sending user identifiers below for more details. |
aleid | string | true* | See Sending aleid below for additional details. Required when available |
esi | string | true | Source of the event. Was it on app or web that this event happened? |
client_id | string | true* | A stable first party user identifier. *See Sending user identifiers below for more details. |
client_ip_address | string | true | IP address (without any spaces) of the browser corresponding to the event. You can use either an IPv4 or an IPv6 address. However, the user’s IPv4 address is typically more stable and changes less frequently than the IPv6 address, and so if you use the IPv4 address you can expect more accurate targeting and attribution. |
aleidaleid is a query parameter that AppLovin adds to website URLs after a user clicks an AppLovin ad.
You should use the presence of this parameter to identify which clicks come from AppLovin.
To send the aleid do the following:
When you see that the aleid URL query parameter is present, retrieve its value.
When your server sees the aleid query parameter, read the parameter server-side.
AppLovin recommends that you set this as an HTTP cookie on your site with the name _axeid.
Set this cookie to have a one-year expiration time.
Whenever you see such a cookie, read its value and then send it in your request by making it the value of the aleid query parameter.
AppLovin requires that you pass at least one of the following fields:
client_id
: Pass a stable first-party cookie you store to identify visitors. It should be globally unique and stay the same across browsing sessions of the user.
alart
: When you see the alart URL query parameter is present, retrieve its value.
user_id
: Unique user ID in your system. Must be numeric.
Email and phone (plain or hashed) are not supported as user identifiers; do not include either anywhere in the request payload—only send the supported identifiers/fields in user_data.
| User-level context fields. See UserData below. |
dedupe_id | string | false | Unique event identifier for de-duplication. Not the same as aleid. |
client_user_agent | string | true | User Agent of the device/browser |
user_id | string | true* | Unique customer identifier assigned by you. *See Sending user identifiers below for more details. |