UTM Link Creation
Every marketing dollar spent needs a paper trail. UTM parameters make that possible by tagging the links you share across ads, emails, and social posts with structured data that flows directly into GA4 and GHL. Without UTM links, traffic shows up as “direct” or “(not set)” and you lose visibility into which channel, campaign, or ad actually drove a lead. With them, you can see exactly where each contact came from, which campaigns are worth scaling, and where budget is being wasted.
This SOP covers how to build UTM links correctly using the BA House Cleaning tracking sheet, what each field means, and the pre-built links to use for Facebook and Google Ads.
Important: Read through the entire SOP first before building your first link!
1. When to Use UTM Links
Build a UTM link any time you are sharing a URL for marketing purposes and that traffic is not already covered by an auto-tagged or pre-built link (see Section 5).
Use UTM links for:
- Organic social posts linking to the quote form or website
- Email campaigns or individual email links
- Nextdoor Ads and any other paid channel without auto-tagging
- Bio links (Instagram, Nextdoor profile, etc.)
- Any referral or partner link
Do not manually build UTM links for:
- Google Ads (auto-tagged via ValueTrack parameters, see Section 5)
- Facebook/Meta Ads (pre-built link, see Section 5)
2. Tools Required
| Tool | Purpose |
| BA UTM Tracking Sheet (Google Sheets) | Build links (Creating tab) and inspect existing links (Extracting tab) |
| GHL Quote Form | Where the hear_about_us value is captured from the dropdown |
| GA4 | Where UTM data flows for traffic and conversion reporting |
| Meta Ads Manager | Where the pre-built Facebook UTM link is pasted |
3. UTM Field Reference
All fields are entered in the Creating tab of the BA UTM Tracking Sheet. Required fields must be filled in for the link to work correctly. Optional fields add a second or third layer of tracking when you have variations within a campaign.
| Field | Required | Description | Example |
|---|---|---|---|
| hear_about_us | Yes | Auto-populates the quote form dropdown so GHL captures the lead source. Must match an existing dropdown option exactly. | Nextdoor Ads |
| Campaign ID | No | Optional numeric or alphanumeric ID if you need to tie the link to a specific campaign record. | NXD-2025-Q3 |
| utm_source | Yes | Where the traffic is coming from. Use the platform or channel name. | nextdoor, email, instagram |
| utm_medium | Yes | The marketing medium or method. Distinguishes paid vs. organic and channel type. | paid-social, organic-social, email, cpc |
| utm_campaign | Yes | The campaign name. Should match or closely mirror the campaign name in the ad platform. | recurring-maid-san-leandro |
| utm_term | No | Second-level identifier for variations within a campaign. Use for A/B test variants, audience splits, or sub-campaigns. | new-movers, retargeting |
| utm_content | No | Third-level identifier. Use to differentiate individual ads or creatives within the same campaign and term. | badge-creative-v1, photo-team-v2 |
4. Step-by-Step: Building a UTM Link
Step 1: Open the UTM Tracking Sheet
Navigate to the Creating worksheet in the BA UTM Tracking Sheet. This is where all link building happens.
UTM Sheet: https://docs.google.com/spreadsheets/d/1Eo9fftabJuFTkJF7uteyKMmGjWRBWi5agINgRKPUlcU/edit?usp=sharing
Step 2: Enter the Destination URL
Paste the full destination URL (the page the user will land on after clicking) in the designated cell. This is typically the BA quote form URL.
Step 3: Fill in the hear_about_us Field
This field is required and must exactly match one of the dropdown options in the GHL quote form. The value auto-populates the “How did you hear about us?” field when the prospect clicks through, so GHL can record the lead source.
Spacing rule exception: This field uses the exact label text from the dropdown as-is. Do not convert spaces to hyphens here.
Step 4: Fill in Required UTM Fields
Enter values for utm_source, utm_medium, and utm_campaign. Use the formatting rules below.
Formatting rules:
- Use hyphens (-) instead of spaces for all utm_ field values
- Use lowercase only
- Be consistent with naming across campaigns so GA4 data groups correctly
Examples:
| Channel | utm_source | utm_medium | utm_campaign (example) |
| Nextdoor Ads | nextdoor | paid_social | recurring-maid-san-leandro |
| Instagram (organic) | organic_social | team-spotlight-sept | |
| Email campaign | win-back-q3 | ||
| Yelp Ads | yelp | paid_listing | recurring-maid-east-bay |
Step 5: Add Optional Fields if Needed
utm_term and utm_content are optional. Add them when you are running multiple variations within a campaign and need GA4 to differentiate them.
- utm_term: Use for audience or creative variants (e.g., retargeting vs. new-movers)
- utm_content: Use for individual ad or creative versions (e.g., photo-team-v1 vs. bad