Webhooks
Webhooks deliver granular performance data for your marketing campaigns to your specified endpoint. In essence, they are a different way of ingesting the same data you can request via the Analytics API. Instead of actively requesting data, with a webhook data is delivered to your server endpoint on a daily basis.
Webhook payloads are sent as JSON arrays containing detailed analytics information - this document describes the structure of the payloads.
Important
Data from the last 24 hours is preliminary and may change as it is fully processed.
If you receive and store any data from the last 24 hours, you may want to request data for the same time range in the future to ensure you get finalized numbers.
Webhook Configuration
To configure webhooks for your account:
- Vist the webhooks configuration page in your Tracify dashboard
- Provide the endpoint URL where you want to receive webhook payloads
Payload Structure
Webhook payloads are delivered as JSON arrays containing analytics objects. Each object represents a complete set of analytics data for specific day split by new, returning, and total dimensions.
We only support one type of webhook payload at this time, and it is our most low level / granular structure. If you're looking for a more structured approach, require filtering, or requesting specific data, please use the Analytics API. The webhook payload will give you a breakdown to the lowest level dimension.
Data that is not available, because it doesn't apply or exist for the given ad, will not return a field.
Dimensions and Duplicated Data
When available, our webhook will return data split by customer type: new, returning, and total. For a single ad, you'll receive a payload that looks (simplified) like this:
[
{
"date": "2025-11-18",
"new_vs_returning": "new",
"campaign_id": "1111111111111111111",
"ad_spend": 100,
"customer_purchase": 7,
},
{
"date": "2025-11-18",
"new_vs_returning": "returning",
"campaign_id": "1111111111111111111",
"ad_spend": 100,
"customer_purchase": 3,
},
{
"date": "2025-11-18",
"new_vs_returning": "total",
"campaign_id": "1111111111111111111",
"ad_spend": 100,
"customer_purchase": 10,
}
customer_purchase - does not repeat.
Important
Take note of dimensions that repeat when storing and summing data. Our webhook format is designed to return all data - it may be more efficient to use the Analytics API to request the data you need, if you don't need maximum granularity.
Non-repeating Metrics
The following metrices are split by new, returning, and total, and thus do not repeat.
customer_purchasecustomer_revenuecustomer_num_itemsvisitor_pageviewvisitor_unique_pageviewvisitor_productviewvisitor_unique_productviewvisitor_addtocartvisitor_unique_addtocartvisitor_checkoutvisitor_unique_checkoutreturn_on_ad_spendcost_per_orderconversion_rateaverage_order_valuediscount_code_redemption_ratecustomer_acquisition_costnew_customer_purchase_rationew_visitor_pageview_ratio
Full Payload Example
[
{
"date": "2025-11-18",
"new_vs_returning": "new",
"channel": "meta",
"account_id": "string",
"campaign_id": "string",
"adset_id": "string",
"ad_id": "string",
"campaign_name": "string",
"adset_name": "string",
"ad_name": "string",
"ad_status": "string",
"adset_status": "string",
"campaign_status": "string",
"advertising_channel_type": "string",
"ads_count": 0,
"image": "string",
"video": "string",
"ad_creative_id": "string",
"influencer_id": "string",
"influencer_name": "string",
"cooperation_id": "string",
"cooperation_name": "string",
"placement_type": "string",
"placement_source": "string",
"labels": [
"string"
],
"cooperation_link_id": "string",
"cooperation_link_title": "string",
"discount_code": "string",
"ad_spend": 0,
"influencer_fixed_commission": 0,
"clicks": 0,
"link_click": 0,
"important_clicks": 0,
"impressions": 0,
"reach": 0,
"comment": 0,
"landing_page_view": 0,
"conversions": 0,
"all_conversions": 0,
"video_view": 0,
"onsite_conversion_post_save": 0,
"video_avg_time_watched_actions": 0,
"click_through_rate": 0,
"frequency": 0,
"thumbstop_ratio": 0,
"cost_per_click": 0,
"cost_per_mille": 0,
"customer_purchase": 0,
"customer_revenue": 0,
"customer_num_items": 0,
"visitor_pageview": 0,
"visitor_unique_pageview": 0,
"visitor_productview": 0,
"visitor_unique_productview": 0,
"visitor_addtocart": 0,
"visitor_unique_addtocart": 0,
"visitor_checkout": 0,
"visitor_unique_checkout": 0,
"influencer_variable_commission": 0,
"total_spend": 0,
"return_on_ad_spend": 0,
"cost_per_order": 0,
"conversion_rate": 0,
"average_order_value": 0,
"discount_code_redemption_rate": 0,
"customer_acquisition_cost": 0,
"new_customer_purchase_ratio": 0,
"new_visitor_pageview_ratio": 0
}
]
Field Definitions
The following is a description of each field in the webhook payload.
Basic Information
date · string
The date for which the analytics data is reported, formatted as YYYY-MM-DD.
new_vs_returning · string
Indicates whether the data represents new or returning customer activity. Values: "new" or "returning" or "total".
channel · string
The marketing channel or platform source (e.g., "meta", "google", "tiktok")
Influencer Information
influencer_id · string
The unique identifier for the influencer or content creator.
influencer_name · string
The name of the influencer or content creator.
cooperation_id · string
The unique identifier for the influencer cooperation.
cooperation_name · string
The name of the influencer cooperation.
placement_type · string
The type of ad placement within an influencer cooperation (e.g., "story", "feed", "reel").
placement_source · string
The source or platform where the cooperation was placed.
labels · array
Array of labels or tags associated with the cooperation.
cooperation_link_id · string
The unique identifier for the cooperation tracking link.
cooperation_link_title · string
The title or description of the cooperation tracking link.
discount_code · string
The discount code associated with the cooperation.
influencer_fixed_commission · number
The fixed commission amount paid to the influencer.
influencer_variable_commission · number
The variable commission amount paid to the influencer based on performance.
Tracify Metrics
customer_purchase · number
The total number of customer purchases attributed to the advertisement.
customer_revenue · number
The total revenue generated from customer purchases attributed to the advertisement.
customer_num_items · number
The total number of items purchased by customers attributed to the advertisement.
visitor_pageview · number
The total number of page views from visitors attributed to the advertisement.
visitor_unique_pageview · number
The number of unique visitors who viewed any page on your site. Unique's are counted per session.
visitor_productview · number
The total number of product page views from visitors attributed to the campaign.
visitor_unique_productview · number
The number of unique visitors who viewed product pages. Unique's are counted per session.
visitor_addtocart · number
The total number of add-to-cart actions from visitors attributed to the campaign.
visitor_unique_addtocart · number
The number of unique add-to-cart actions. Unique's are counted per session.
visitor_checkout · number
The total number of checkout attempts from visitors attributed to the campaign.
visitor_unique_checkout · number
The number of unique visitors who initiated checkout. Unique's are counted per session.
Tracify Calculated KPIs
total_spend · number
Total spend is ad spend across all channels including influencer commissions.
cost_per_click · number
The average cost per click on the advertisement. ad_spend / clicks
cost_per_mille · number
The cost per thousand impressions (CPM). (ad_spend / impressions) * 1000
return_on_ad_spend · number
The revenue generated for every dollar spent on advertising (ROAS). customer_revenue / ad_spend
cost_per_order · number
The average cost to generate one order. total_spend / customer_purchase
conversion_rate · number
The percentage of visitors who completed a conversion. (conversions / visitor_unique_pageview) * 100
average_order_value · number
The average monetary value of each order. customer_revenue / customer_purchase
discount_code_redemption_rate · number
The percentage of conversions that used the discount code. (conversions_with_discount / conversions) * 100
customer_acquisition_cost · number
The average cost to acquire a new customer. total_spend / new_customers
new_customer_purchase_ratio · number
The percentage of purchases from new customers. (new_customer_purchases / total_purchases) * 100
new_visitor_pageview_ratio · number
The percentage of page views from new visitors. (new_visitor_pageviews / total_pageviews) * 100
Ad Platfom Information
account_id · string
The unique identifier for the advertising account.
campaign_id · string
The unique identifier for the advertising campaign.
adset_id · string
The unique identifier for the ad set within the campaign.
ad_id · string
The unique identifier for the specific advertisement.
campaign_name · string
The name of the advertising campaign.
adset_name · string
The name of the ad set within the campaign.
ad_name · string
The name of the specific advertisement.
ad_status · string
The current status of the advertisement (e.g., "active", "paused", "archived").
adset_status · string
The current status of the ad set (e.g., "active", "paused", "archived").
campaign_status · string
The current status of the campaign (e.g., "active", "paused", "archived").
advertising_channel_type · string
The type of advertising channel (e.g., "social", "search", "display").
ads_count · number
The total number of ads in a given campaign.
image · string
URL or identifier for the ad image creative.
video · string
URL or identifier for the ad video creative.
ad_creative_id · string
The unique identifier for the ad creative asset.
Ad Platform Metrics
These metrics repeat for each change in the new_vs_returning dimension. They are imported via your connected ad manager accounts
ad_spend · number
The total amount spent on within your respective ad platform.
clicks · number
The total number of clicks on the advertisement (Channels other than Meta)
link_click · number
The total number of clicks on links within the advertisement (Meta only)
important_clicks · number
Important clicks are the sume of clicks and link clicks. Because Meta reports link clicks, we report them as a separate metric.
impressions · number
The total number of times the advertisement was displayed.
reach · number
The number of unique individuals who saw the advertisement.
comment · number
The total number of comments on the advertisement.
landing_page_view · number
The total number of landing page views from the advertisement.
conversions · number
The total number of primary conversions attributed to the advertisement by the ad platform (e.g. Meta) and not by Tracify.
all_conversions · number
Applies to Google only. All conversions is a way of looking at all conversions as counted by Google across all campaigns. Learn more at Google's All Conversions documentation.
video_view · number
The total number of video views for video advertisements.
onsite_conversion_post_save · number
The number of conversions that occurred after users saved the content.
video_avg_time_watched_actions · number
The average time users spent watching video content.
click_through_rate · number
The percentage of impressions that resulted in clicks. (clicks / impressions) * 100
frequency · number
The average number of times each person was exposed to the advertisement. impressions / reach. Meta only.
thumbstop_ratio · number
The percentage of users who watched at least 3 seconds of a video ad. Also known as Hook Rate. Meta only.