Coachful
CoachfulHelp

Tracking conversions with UTM parameters in Coachful

By Coachful11 min readUpdated Apr 16, 2026

Learn how to add UTM parameters to your Coachful URLs, set up GA4 conversion tracking, and finally know which marketing channels are filling your coaching roster.

What's covered
  • Why UTM tracking matters for coaches
  • TL;DR
  • What UTM parameters are (and what they track)
  • Setting up UTM tracking on your Coachful URLs
  • Building a naming convention that doesn't break your reports
  • Tracking UTM data through Coachful's booking and enrollment flow

Why UTM tracking matters for coaches

You're running ads, posting on social media, sending email newsletters, and maybe even partnering with other creators — but do you actually know which of those channels is filling your coaching roster? Without UTM parameters, every client who lands on your booking page or sales funnel looks the same inside your analytics. You can't tell whether your Instagram Reels or your Google Ads drove the conversion, so you end up guessing where to spend your next marketing dollar.

UTM tracking solves this. By appending a short string of parameters to any URL you share, you can follow a potential client from their very first click all the way through to a paid enrollment — and see exactly which campaign, channel, and piece of content made it happen. This guide walks you through how UTM parameters work, how to build them correctly, and how to connect the data inside Coachful so you can make smarter marketing decisions starting today.

TL;DR

  • UTM parameters are tags you add to your Coachful landing page or funnel URLs to track traffic sources.
  • Five standard parameters exist: utm_source, utm_medium, utm_campaign, utm_term, and utm_content.
  • Build your tagged URLs with Google's Campaign URL Builder, then paste them into your ads, emails, or social bios.
  • Connect Google Analytics 4 (or any analytics tool) to your Coachful custom domain to see which campaigns convert to bookings and enrollments.
  • Consistent naming conventions are the single biggest factor that separates usable data from a mess.

What UTM parameters are (and what they track)

UTM stands for Urchin Tracking Module — a naming convention inherited from Google Analytics' predecessor. Each parameter is a key-value pair appended to a URL after a question mark. When someone clicks a UTM-tagged link, their browser sends those values to whatever analytics platform you're using, and you can then filter, segment, and compare your traffic by any of them.

Here's a quick breakdown of each parameter and when to use it:

  • utm_source — Where the traffic originates. Examples: instagram, google, newsletter, podcast.
  • utm_medium — The marketing channel or mechanism. Examples: paid_social, cpc, email, organic_social, referral.
  • utm_campaign — The specific campaign or promotion. Examples: q3_launch_2024, summer_fitness_offer, webinar_followup.
  • utm_term — (Optional) The keyword that triggered a paid search ad. Examples: life+coaching+online, executive+coach+nyc.
  • utm_content — (Optional) Used for A/B testing creative or distinguishing two links in the same email. Examples: blue_cta_button, hero_image_link, footer_link.

A fully tagged URL pointing to your Coachful program landing page might look like this:

https://yourname.coachful.co/programs/12-week-fitness?utm_source=instagram&utm_medium=paid_social&utm_campaign=q3_launch_2024&utm_content=reel_v2

Every time someone clicks that link, your analytics tool logs all four values and ties them to whatever goal or conversion that visitor completes — whether that's booking a discovery call, signing up for a lead magnet, or enrolling in your program.

Setting up UTM tracking on your Coachful URLs

Coachful pages — your website, landing pages, lead-magnet funnels, booking pages, and program enrollment pages — are all standard URLs that accept UTM parameters out of the box. You don't need to configure anything inside Coachful to receive UTM tags. What you do need is an analytics layer to read those tags and report on them.

Step 1 — Connect Google Analytics 4 to your Coachful site

  1. In your Coachful dashboard, go to Settings → Website → Custom Code (or Integrations, depending on your plan).
  2. Paste your GA4 measurement ID snippet (e.g., G-XXXXXXXXXX) into the Head Scripts field. Coachful injects this code site-wide, including on all landing pages, funnel steps, and booking pages.
  3. Save changes. Within 24-48 hours, GA4 will begin attributing sessions to the correct UTM source/medium/campaign automatically.
  4. If you're on a Coachful custom domain (e.g., www.yourcoachingbrand.com), confirm the domain is verified in your GA4 property under Admin → Data Streams to avoid cross-domain attribution issues.

Step 2 — Build your tagged URLs

  1. Open Google's Campaign URL Builder.
  2. Paste the destination URL — for example, your Coachful booking page (yourname.coachful.co/book) or a specific program enrollment page.
  3. Fill in at minimum utm_source, utm_medium, and utm_campaign. Add utm_content when you're testing multiple creatives.
  4. Copy the generated URL and place it wherever you'd normally share a plain link — in an ad, an email CTA button, a social bio, or a podcast show notes page.

Step 3 — Set up conversion events in GA4

Traffic data alone won't tell you what converts. You need to mark specific user actions as "conversions" in GA4 so you can see which UTM campaigns are actually driving revenue, not just clicks.

  1. Identify the key actions: booking confirmation page load, program enrollment success page, lead magnet opt-in confirmation.
  2. In GA4, go to Configure → Events and mark the relevant page-view events as conversions (e.g., when page_location contains /booking/confirmed).
  3. Use GA4's Acquisition → Traffic Acquisition report, filtered by "Session campaign", to see which UTM campaigns drive the most completed bookings or enrollments.
Make it easier with Coachful funnels. Coachful's built-in funnel and landing page builder gives you dedicated URLs for each step of your coaching offer — discovery call booking, program enrollment, lead magnet delivery — making it straightforward to create clean, trackable UTM links for every stage of your funnel. Start your free trial to see it in action.

Building a naming convention that doesn't break your reports

This is where most coaches go wrong. They tag some links with Instagram, others with instagram, and others with IG — and now GA4 treats those as three different traffic sources. Your data is fragmented and useless for comparison.

Adopt a naming convention on day one and document it somewhere your whole team (or your virtual assistant) can see it. Here are the rules that work best in practice:

  • Always use lowercase. UTM values are case-sensitive. Email and email are different sources in GA4.
  • Replace spaces with underscores or hyphens. Never use spaces; they encode as %20 and look messy. Stick to one style: paid_social not paid-social in the same property.
  • Be specific in campaigns. jan_2025_webinar is far more useful six months from now than webinar.
  • Keep a spreadsheet. One tab per channel, logging every tagged URL you've ever published. Include the destination, all five UTM values, the date, and the platform where it was posted. This becomes invaluable for audits.

Example naming convention for a health coach

  • Email newsletter → utm_source=newsletter&utm_medium=email&utm_campaign=may_2025_body_reset
  • Instagram paid ad → utm_source=instagram&utm_medium=paid_social&utm_campaign=may_2025_body_reset&utm_content=carousel_v1
  • Podcast guest spot → utm_source=healthyminds_podcast&utm_medium=podcast&utm_campaign=may_2025_body_reset
  • Google Ads → utm_source=google&utm_medium=cpc&utm_campaign=may_2025_body_reset&utm_term=online+health+coach

With this structure, you can filter GA4 by utm_campaign=may_2025_body_reset and instantly see which channel drove the most bookings — apples to apples.

Tracking UTM data through Coachful's booking and enrollment flow

One subtlety specific to coaching platforms: the conversion doesn't always happen on the first page a visitor lands on. A prospect might click your Instagram ad, land on your Coachful landing page, read your offer, and then click through to the booking page — a multi-step journey. Here's how to make sure UTM data doesn't get lost along the way.

Keep clients on your Coachful subdomain or custom domain

If your landing page and your booking page share the same root domain (e.g., both live on yourname.coachful.co or both on your custom domain), GA4 treats the entire session as one continuous visit. The UTM source from the original click is preserved throughout, and the conversion event on the booking confirmation page is correctly attributed to that campaign.

Problems arise when you send paid traffic to an external landing page hosted on a different domain and then redirect to Coachful. In that case, set up GA4 cross-domain measurement to link both domains so the session isn't broken.

Use Coachful's intake call flow for discovery sessions

Coachful's intake call booking is a separate flow from your main calendar availability. If you're driving cold traffic to a free discovery call, create a dedicated landing page inside Coachful's website builder, tag your links with utm_medium=cpc or utm_medium=organic_social, and point the CTA button directly to your intake booking URL. Because it's all on the same domain, the session stays intact and GA4 attributes the completed booking to the correct campaign.

Pro tips for advanced UTM tracking

Pro tip: Use utm_content aggressively when running split tests on your Coachful landing pages. Tag two versions of your ad creative with utm_content=headline_a and utm_content=headline_b, point both to the same landing page, and let GA4 tell you which creative produces more booking confirmations. No separate A/B testing tool needed.
  • Shorten tagged URLs for social. Raw UTM URLs are long and ugly. Use a link shortener (Bitly, your own short domain) for anything displayed publicly — Instagram bios, Twitter posts. The redirect preserves UTM parameters perfectly.
  • Tag your email signature links. Many coaches forget that their email signature is a traffic source. Add utm_source=gmail_signature&utm_medium=email and you'll discover how many clients actually click through from your day-to-day correspondence.
  • Tag affiliate or referral links separately. If another coach or creator is sending you referrals, give them a unique utm_source (e.g., utm_source=partner_janedoe) so you know exactly how much business each relationship is worth.
  • Ask Michelle. Inside your Coachful dashboard, you can ask Michelle, the built-in AI assistant, for help generating UTM-tagged URLs or interpreting which of your pages gets the most traffic — a handy shortcut when you're in a hurry.

Troubleshooting common UTM tracking problems

My UTM data shows as "(not set)" in GA4

This usually means the GA4 snippet isn't firing on the destination page, or the tagged link was opened in a context that strips parameters (some email clients or mobile apps do this). Double-check that your GA4 measurement ID is correctly installed in Coachful's Settings → Website → Custom Code → Head Scripts. Also verify the tagged URL still contains the parameters after any redirects — use a tool like Redirect Checker to trace the full redirect chain.

My conversions are attributed to "(direct) / (none)"

Direct traffic typically means GA4 lost the referral context. Common causes: the user bookmarked the page and returned later, a link shortener stripped the UTM parameters (test your shortener to confirm it passes them through), or there was a domain change mid-session. Use GA4's DebugView to watch a live session and confirm parameters are arriving correctly.

I have duplicate source names in my reports (e.g., "Instagram" and "instagram")

This is a naming convention failure. Go back to your UTM spreadsheet, identify every variation, and standardize going forward. GA4 lets you create channel grouping rules under Admin → Data Settings → Channel Groups to retroactively merge Instagram and instagram into one group for reporting purposes — a useful fix while you clean up the underlying data.

Bookings are showing zero conversions despite traffic

Check that your GA4 conversion event is correctly configured. The most reliable method on Coachful is to fire a conversion event when a specific "thank you" or "booking confirmed" page loads. Go into Coachful's booking settings and ensure there is a dedicated confirmation URL (e.g., /booking/confirmed) — some setups show a modal instead of a new page, which requires an event-based trigger rather than a pageview trigger in GA4.

UTM parameters disappear after clicking through my Coachful funnel steps

If your funnel has multiple steps on different sub-pages and you notice UTM values vanishing, the likely cause is that an internal link inside the funnel is hard-coded without parameters. Since GA4 preserves the original session's UTM attribution as long as the user stays on the same domain without triggering a new session, this is usually fine — but confirm by checking the Session source / medium dimension in GA4, not the Event source / medium, which can show "(direct)" on later pages even when the session attribution is correct.

Ready to turn your marketing data into more coaching clients?

UTM tracking transforms your marketing from a leap of faith into a feedback loop. When you know that your podcast guest appearances generate three times more enrollments than your paid ads — at a fraction of the cost — you can reallocate your time and budget accordingly. When you know a specific email subject line drove 14 booking confirmations last month, you write more emails like it. The data is only as good as your setup, and your setup is only as good as the platform you build on.

Coachful gives you clean, trackable URLs for every stage of your coaching business — landing pages, funnels, booking flows, program enrollment, lead magnets — all under one domain, making UTM attribution dramatically simpler than stitching together five different tools. Start your free trial and build a marketing engine you can actually measure.

Frequently asked questions

Do I need to install anything in Coachful to use UTM parameters?
Coachful URLs accept UTM parameters out of the box — no plugin or extra configuration is required on the URL itself. However, to actually read and report on UTM data, you'll need to connect an analytics tool like Google Analytics 4 by pasting your GA4 snippet into Coachful's Settings → Website → Custom Code → Head Scripts.
Will UTM parameters still work on my Coachful custom domain?
Yes. UTM parameters work on any URL, including custom domains connected to Coachful (e.g., www.yourcoachingbrand.com). Just make sure your custom domain is verified in your GA4 data stream so sessions aren't broken when users navigate between pages on that domain.
What's the difference between utm_source and utm_medium?
utm_source identifies where the traffic comes from (e.g., instagram, google, newsletter), while utm_medium describes the marketing channel or mechanism (e.g., paid_social, cpc, email). Think of source as the publisher and medium as the type of marketing activity.
Can I use UTM parameters with Coachful's built-in email or messaging features?
UTM parameters are designed for outbound links you control. If you share a link to your coaching page inside an email, social post, or any external channel, you can — and should — tag it. Coachful's platform itself doesn't strip or modify UTM parameters from inbound links.
How do I track which UTM campaign led to a paid enrollment, not just a page visit?
Set up a GA4 conversion event that fires when a user reaches your enrollment confirmation page (e.g., a URL containing /enrollment/confirmed). Then use GA4's Traffic Acquisition report filtered by Session campaign to see which UTM campaign drove completed paid enrollments, not just sessions.
Do UTM parameters affect my Coachful page's SEO?
UTM parameters are ignored by search engines for indexing purposes. Google treats a URL with and without UTM parameters as the same page and uses the canonical version. They have zero negative impact on your Coachful pages' SEO rankings.
What happens to UTM data if a client clicks my link and then comes back later to enroll?
By default, GA4 sessions expire after 30 minutes of inactivity, and a new session starts without the original UTM data. However, GA4's default attribution model gives credit to the last non-direct click within a 90-day window, so if the client originally clicked a tagged link, that campaign may still receive conversion credit when they return.
Was this article helpful?