Skip to content

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.

Webhook Configuration


To configure webhooks for your account:

  1. Vist the webhooks configuration page in your Tracify dashboard
  2. 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,
  }
Note: Ad spend repeats for each varying dimesion, but the tracify metric - 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_purchase
  • customer_revenue
  • customer_num_items
  • visitor_pageview
  • visitor_unique_pageview
  • visitor_productview
  • visitor_unique_productview
  • visitor_addtocart
  • visitor_unique_addtocart
  • visitor_checkout
  • visitor_unique_checkout
  • return_on_ad_spend
  • cost_per_order
  • conversion_rate
  • average_order_value
  • discount_code_redemption_rate
  • customer_acquisition_cost
  • new_customer_purchase_ratio
  • new_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.