UTMs that make it to the Hotmart, Kiwify, Eduzz and Monetizze checkout.
Hotmart, Kiwify, Eduzz and Monetizze are the platforms Brazilian course creators use to sell courses and other digital products. The sale is recorded by the checkout, not by the sales page. The builder creates the checkout link with the parameters each platform reads, including src, sck and xcod, and gives you the script that carries UTMs through the buy buttons.
https://pay.hotmart.com/A12345678B?checkoutMode=10&utm_source=instagram&utm_medium=social&utm_campaign=INFO_VENDAS_LAUNCH&sck=instagram-social&xcod=instagram-social
The builder joins with & because the link already had a ?. sck tags the campaign in Hotmart’s report, and xcod is what comes back in the webhook, since the UTM doesn’t. On Kiwify and Monetizze the parameter is src.
What breaks
The UTM disappears when the buyer clicks the buy button
The UTM reaches the sales page, but the button points to a fixed checkout link. The buyer lands there with no parameters at all, and the sale has no source. The builder gives you the script that copies the page’s parameters into the checkout links.
“The simple fact that a user reaches your sales page through an ad with UTMs doesn’t guarantee that this information is passed on to our sales system automatically. For the purchase source to be read and processed internally, the customer needs to click the button that takes them to the Hotmart checkout using an official link already loaded with the UTM parameters.”Hotmart Help Center, “How do I set up UTM parameters to track my campaigns?” (in Portuguese)
Two question marks break the checkout
The checkout link almost always has a parameter already, like
?checkoutMode=10. Pasting?utm_source=after it corrupts the URL: neither the tracking nor the purchase goes through. The builder joins with&and the auditor flags the duplicate?.“The question mark (?) should be added only once in the URL. Adding multiple question marks corrupts the URL and cancels both your tracking and the customer’s path to completing the purchase.”Hotmart Help Center, article 360002403031 (in Portuguese)
Hotmart doesn’t pass UTMs in the webhook
If you send sales to a CRM or spreadsheet through the webhook, the sale arrives without the UTM. The documented alternative is
xcod, which the builder fills with the same campaign code.“Structured UTM parameters are currently not passed in Webhook sends. But the xcod parameter can be used as an alternative.”Hotmart Help Center, article 360002403031 (in Portuguese)
What to use
- UTM builder, Digital product channelPaste the checkout link, choose where the click comes from and get utm, src, sck and xcod in each platform’s format.
- Sales page scriptComes with the link: carries utm, src and sck from the page address to the checkout buttons, without changing what the link already has.
- Link auditor (in Portuguese)Flags a duplicate ?, spaces, capitals and shorteners that drop parameters in links already live.
- UTM capture for CRM (in Portuguese)A script that saves the UTM from the first visit and fills in your lead form.
- GA4 channels (in Portuguese)See which channel a click from Instagram, email or an affiliate lands in, in your sales page’s GA4.
- Launch checklist (in Portuguese)A check before you open the cart, saved per product.
In three steps
- Paste the checkout link as the platform shows itThe builder recognizes Hotmart, Kiwify, Eduzz and Monetizze and adds the parameters the right way.
- Choose where the click comes from and name the campaignInstagram, ad, email or affiliate. The source code comes out in the format the platform asks for.
- Paste the script on your sales page and test itMake a test purchase and check the source in the platform’s report.
Open the cart knowing where every sale comes from
Checkout link, sales page script and auditor, on the Free plan. Your links stay saved in your account.