Audiences and UTM Integrations
Track digital product sales back to the ad
Connect Hotmart, Kiwify, Eduzz, Braip and 12 more platforms to your ads: script, UTMs and webhook. Every sale comes back with the campaign and ad behind it.
Quick answer
In UTM Integrations, create a project with your Sales platform and the product ad accounts. In Set up tracking, install the script on the sales page, click Add to campaigns to write the UTMs and paste the webhook URL into the platform. Every sale comes back with its campaign, ad set and ad.
Watch the walkthrough 0:36
Before you start
- Ads Editor receives sales from 16 platforms: Hotmart, Braip, Kiwify, Eduzz, Guru, Hubla, Kirvano, Cakto, Ticto, Perfect Pay, Monetizze, Greenn, Pepper, Lastlink, Payt and CartPanda.
- Tracking has three parts that work together: the script keeps the click source, the UTMs say which ad it came from and the webhook tells Ads Editor about every sale.
- You need admin access to the sales platform (that is where the webhook is registered) and access to edit the sales page or its Google Tag Manager.
Step by step
The path in Ads Editor is the same for any platform. Only the last step, the webhook, changes: the table below says where to paste it on each one.
- 1
Create the project
In the side menu, click UTM Integrations. Under New project, give it a name (the product name, for example), pick your platform in Sales platform, check the ad accounts with the button next to Ad accounts and click Create project.

- 2
Install the script on the sales page
In the project, open Set up tracking. In block 1, Install the script on the sales page, click Copy. Then paste the script straight into the sales page
<head>or install it with Google Tag Manager: click Open Tag Manager, create a new tag of the Custom HTML type, paste the script, pick the All Pages trigger, save and publish the container. The script keeps the click source until the purchase.
- 3
Add the UTMs to your campaigns
In block 2, click Add to campaigns and check the Meta campaigns: Ads Editor writes your platform UTM pattern on each ad. If you also advertise on Google, use Add to Google Ads in block 3.

- 4
Paste the webhook into the platform
Copy the URL from block 4 and register it in your sales platform, checking the approved sale, refund and chargeback events. The block text says where to paste it on the chosen platform.

Where to paste the webhook on each platform
| Platform | Where to paste the URL |
|---|---|
| Hotmart | Tools, Webhook, version 2.0, Purchase approved event |
| Braip | Tools, Postback, with the authentication key in the project |
| Kiwify | Apps, Webhooks, Create Webhook |
| Eduzz | The account sales webhook (postback) field |
| Guru | The sales webhooks area |
| Hubla | Webhooks rule with the invoice.status_updated event |
| Kirvano | The Webhooks area |
| Cakto | Integrations, Webhooks |
| Ticto | Webhook on version 2.0, JSON format |
| Perfect Pay | Tools, Webhook, with the project products |
| Monetizze | Tools, Postback, JSON format |
| Greenn | In each product, Content tab, Webhook |
| Pepper | Webhook on version 2.0 |
| Lastlink | In each product, Integrations, Webhook |
| Payt | Tools, Postbacks, PayT V1 type |
| CartPanda | Settings, Notifications, Webhooks |
Ads that already have their own UTMs
Add to campaigns replaces URL parameters that differ from the project pattern. If you use UTMs from another tool, check which campaigns to select first. Ads already using the pattern are skipped.
How to tell it worked
- Make a test purchase. It shows up in Latest received events, in the project itself, with the campaign and the ad.
- In Meta Ads, the UTM Purchases, UTM Revenue and Profit columns become available. In Google Ads, UTM Purchases, UTM Revenue and UTM ROI.
- Reports and the Copilot start using the attributed sales instead of the purchases reported by the pixel.
If something goes wrong
| Symptom | Likely cause | What to do |
|---|---|---|
| No sale shows up in Latest received events | The webhook was not registered, or was registered with other events | Open your platform guide in the table above and check the setup |
| The sale arrives without a campaign | The ad has no UTM or the page drops the parameters along the way | Use Add to campaigns and install the script on the sales page |
| The UTM columns do not show up in Meta Ads | The account is not in any project | Add the account to the project with Add account |
| My platform is not on the list | There is no integration with it yet | Click Can’t find your platform? Request an integration |
Frequently asked questions
Which sales platforms does Ads Editor integrate with?
The UTM Integrations selector includes: Hotmart, Braip, Kiwify, Eduzz, Guru, Hubla, Kirvano, Cakto, Ticto, Perfect Pay, Monetizze, Greenn, Pepper, Lastlink, Payt, and CartPanda. Choose yours in the Platform field when you create the integration. If yours isn't on the list, click Request integration on the same page and tell us which platform you use: the team decides what to add based on requests.
How do I create an integration from scratch, step by step?
On the UTM Integrations page, in the Create integration block:
- Enter a Name for the project (e.g., the product name).
- Choose the Sales platform.
- Under Ad account, click the list button, select one or more accounts (Meta and Google show with different labels) and confirm.
- Click Create.
The project appears under My projects, where you can open the How to integrate panel. It has three things: the script to install on your sales page, the UTM pattern for your campaigns, and the webhook URL to register on your platform. Complete all three steps for tracking to work end to end.
Where do I find the webhook URL and where should I paste it on my sales platform?
Open the UTM Integrations page, find your project under My projects and click How to integrate. The Webhook section shows your project's unique URL with a copy button, and the instructions change depending on the platform. Examples: in Hotmart, paste it in the approved purchase webhook field (version 2.0) for all products in the account; in Kirvano, go to Apps, then Webhooks, and select the sales events; in Cakto, go to Integrations and Webhooks; in Ticto, go to Tools and Webhooks using JSON format, version 2.0; in Monetizze, go to Tools and Postback; in Perfect Pay and Lastlink, setup is per product. Always select the approved sale, refund and chargeback events so your numbers are correct. Many platforms have a shortcut button in the Ads Editor panel that opens the right page.
What is the script that appears in the How to Integrate panel and where do I install it?
It's a tracking script that you install on your sales page (the page that receives traffic from your ads). It captures the UTM parameters that arrive with the ad click and automatically passes them to your checkout links, so the sale reaches the platform with the correct source. It also captures Google Ads click IDs (gclid), so it works for both Meta and Google traffic. You can install it in two ways: through Google Tag Manager, by creating a custom HTML tag and pasting the script (the panel has an Insert into GTM button), or by pasting the code directly into the page's HTML. Without the script, clicks that pass through intermediate pages can lose their UTMs before checkout.
What sales columns appear in Meta Ads after I connect an integration?
With at least one integration connected to the account, the manager's column selector unlocks extra columns: UTM Purchases (the number of approved sales attributed to that campaign, ad set, or ad), UTM Revenue (revenue from those sales), Profit (UTM Revenue minus the campaign's spend), Total Sales (all approved sales in the period, even without attribution), Total Revenue, and Total Profit. You can also add the same metrics to the summary cards at the top of the manager. To turn them on, open the manager's column selector and select the ones you want. If you don't see these columns, no integration project is connected.
See also
Track Hotmart sales back to the adApply UTMs to your campaignsUTM sales columnsA sale that does not show up