Webhook
Learn how to end subscription events to your server with webhook
Adapty's webhook enables you to receive real-time notifications about subscription events. You can utilize this information on your own server to perform specific actions or analyze data. These subscription events are then forwarded to your designated web server.
Setup the Endpoint URL
To setup the integration with Webhook go to Integrations > Webhook in your Adapty dashboard, turn on a toggle from off to on, and fill out fields.

Webhook integration
- Production endpoint URL is used by Adapty to send HTTP POST requests to this URL when events occur. We’ll send an
isMount
event to your endpoint upon saving, and it must respond with a 200 HTTP code. - Authorization header value for production endpoint is by your server to verify the validity of the requests made from Adapty. This field is optional but is recommended to be set up for better security.
Additionally, for your testing needs in the staging environment, two other fields are available:
- Sandbox endpoint URL: Adapty will use this URL to send HTTP POST requests when events occur in the staging environment. Similar to production, your endpoint must respond with a 200 HTTP code upon receiving the
isMount
event. - Authorization header value for sandbox endpoint: This field is optional but advisable for enhanced security in the staging environment. Your server can validate requests from Adapty using this value during testing in the sandbox environment.
Request format
Be sure your endpoint has Content-Type: application/json header.
Whenever an event occurs, Adapty triggers a POST request to the endpoint URL.
When you activate a Webhook, Adapty sends a POST verification event in the following format:
{
adapty_check: {{check_string}}
}
Your server must respond with 200 or 201 code and return the event containing:
{
adapty_check_response: {{check_string}}
}
with the same check_string
After that Adapty sends POST events about your users.
Event structure
Refer to the Events section to understand which events Adapty sends.
Each event is wrapped into the following structure
{
"profile_id": "772204ce-ebf6-4ed9-82b0-d8688ab62b01",
"customer_user_id": "123",
"idfv": "00000000-0000-0000-0000-000000000000",
"idfa": "00000000-0000-0000-0000-000000000000",
"advertising_id": "00000000-0000-0000-0000-000000000000",
"profile_install_datetime": "2020-02-18T18:40:22.000000+0000",
"email": "[email protected]",
"event_type": "non_subscription_purchase",
"event_datetime": "2023-02-18T18:40:22.000000+0000",
"event_properties": <event-specific properties>,
"event_api_version": 1,
"attributions": {"attribution_source1": <attribution_data>, "attribution_source2": <attribution_data>, ...},
"user_attributes": {"attribute_name1": "attribute_value1", "attribute_name2": "attribute_value2", ...}
"integration_ids": {"firebase_app_instance_id": "val1", "branch_id": "val2", "one_signal_player_id": "val3", ... }
}
Where
Property | Type | Description |
---|---|---|
profile_id | str | Adapty user ID. |
customer_user_id | str | Developer user ID. For example, it can be your user UUID, email, or any other ID. Null if you didn't set it. |
idfv | str | IDFV value. |
idfa | str | IDFA value. |
advertising_id | str | Advertising ID value. |
profile_install_datetime | ISO 8601 date | Installation date. |
str | E-mail of the profile. | |
event_type | str | Event name in lower case. |
event_api_version | int | Adapty API version. The current value is 1. |
event_properties | json | JSON of event properties. |
attributions | json | JSON of attribution data. |
user_attributes | json | JSON of custom user attributes. |
integration_ids | json | JSON of users integration identifiers. If a user doesn't have any identifier or integrations are disabled, then a null is sent. |
Webhook integration enables to control of sending attribution and user attributes. You can find Send Attribution and Send User Attributes in the Webhook integration page of your Adapty Dashboard. Enabling the Send Attribution option will send information about the source of app installs from data providers. Enabling the Send User Attributes option will send custom user attributes set up from the Adapty SDK, such as user preferences and app usage data.
Event names mapping
You can change the mapping from default Adapty event names to your own:

The name can be any string except a blank.
Attribution data
Field name | Field type | Description |
---|---|---|
network_user_id | str | ID assigned to the user by attribution source. |
status | str | Can be organic, non_organic or unknown |
created_at | ISO 8601 date | Date and time of attribution record creation. |
channel | str | Marketing channel name. |
campaign | str | Marketing campaign name. |
ad_group | str | Attribution ad group. |
ad_set | str | Attribution ad set. |
creative | str | Attribution creative keyword. |
Updated 17 days ago