UTM parameters are source labels carried in a campaign link. Approve the meaning of source, medium, campaign, content and term, generate the URL, inspect redirects and verify the corresponding GA4 scope before using the traffic for further analysis. Consistent labels improve classification; they cannot establish incremental orders.
13 parts · 7 checkpoints · Take away: 1 record · 1 note
Show all 13 parts
- 01QA the link inputs before discussing channel performance
- 02From naming contract to final link
- 03Plain-language field rules
- 04Three real-link examples
- 05Dictionary blueprint
- 06Naming-drift worked case
- 07Reusable UTM naming rules
- 08Build and record the final URL
- 09Campaign link worksheet, has a checkpoint, has a work product
- 10UTM naming checks
- 11Evidence reuse paths, has a checkpoint
- 12Keyword review, has a checkpoint, has a work product
- 13Archive and boundary
The query string follows the URL’s question mark. An equals sign joins a parameter name and value, and an ampersand separates pairs. Source names the specific origin, medium the traffic type, campaign the initiative and content the creative or link position. Google defines term for paid keywords. This lesson also retains team-defined audience, creator or segment labels, but the dictionary must identify them as labels rather than actual search queries. Leave the field empty when no decision uses it.
A naming dictionary records allowed values, meaning, owners and retirement rules. Auto-tagging is an advertising platform’s automatic click tagging. GCLID (Google Click Identifier) is one Google Ads click identifier; a link builder cannot invent one. GA4 session source describes this visit, first-user source the original acquisition, and event-scoped attribution is another layer. Choose the question before the dimension.
Continues from: Shopify GA4 Ads Reconciliation: Google Ads, Conversions, and Profit ROAS
Trace report gaps back to link inputs
The previous lesson routed the gap between 52 Ads conversions, 39 GA4 purchases, 44 Shopify net orders, and 16 profitable orders to account, event, consent, click-ID, order, and profit layers. If Traffic acquisition also splits one Meta campaign into fb, facebook, Facebook, and meta, stop comparing channel strength. Link naming has already distorted the session dimension.
Build approved values for the same summer tumbler campaign: utm_source=meta, utm_medium=paid_social, campaign for market/category/theme/year/stage, content for the creative, and term only when the team truly reviews a keyword, audience, or segment. Preserve old values as polluted history with a separate mapping. Do not rewrite raw history to look clean.
meta / paid_social is this controlled classroom taxonomy, not proof of GA4 default Paid Social classification. Map the aliases only when ad and placement records establish the same source scope. Preserve needed Facebook, Instagram and other platform granularity in real links and inspect current channel rules.
After generating the URL, inspect the clicked destination, collection evidence, processed Traffic acquisition and the campaign archive. UTM proves which labels traveled with the link. It does not prove that ads caused a purchase or replace Google Ads auto-tagging and GCLID QA. Until the final link passes, pause channel-budget and landing-page conclusions.
Lesson 6: a shared naming record
UTM gives the team a shared set of traffic labels.
When one source appears as fb, facebook, Facebook and meta, inspect naming and archive records before comparing performance. The worksheet joins approved values, owners and test evidence for later review.
UTM naming record and source attribution table
- utm_source (google, meta, klaviyo, creator_jane): Names the platform, partner, list, or creator that sent the traffic.
- utm_medium (cpc, paid_social, email, affiliate): Names the traffic type, such as paid search, paid social, email, affiliate, or organic social.
- utm_campaign (us_bags_bfcm_2026_prospecting): Names the campaign, ideally with market, category, theme, year, and stage.
- utm_content (video_hook_a, email_hero_cta, carousel_review_v2): Names the creative, placement, CTA, email block, or link position.
- utm_term (leather_tote_bag, lookalike_3p, creator_jane): Stores paid keywords in search; in non-search, it can store audience, creator, or segment labels.
QA the link inputs before discussing channel performance
Start with the current question
- How should UTM parameters be named?
- How are utm_content and utm_term different?
- How do I QA a Shopify campaign URL after generating it?
- Why did GA4 traffic become direct / none?
- How should Google Ads auto-tagging and manual UTM work together?
- Should QR, email, and Meta links use different UTMs?
- Can I rewrite history after UTM naming drift?
From naming contract to final link
Finish one Meta ad link end to end before discussing channel performance
Keep the 20oz leakproof tumbler and the business context of US_Search_Tumbler_Summer, but now build one Meta prospecting link. The destination is https://example.com/products/leakproof-tumbler, the market is the US, the campaign window remains 2026-07-07 through 2026-07-13, and the GA4 property time zone remains America/New_York. UTM records the campaign entry; it does not change the product, order, or reporting time zone.
Work backward from the business question. We need to distinguish Meta paid-social traffic, the US summer tumbler prospecting campaign, and the leak-test video v1 creative, so source, medium, campaign, and content each have a value. The team is not reviewing audiences or keywords this week, so term stays blank. That blank is a deliberate contract decision, not an omission. Add a governed term only when a real decision uses that dimension.
Archive fields and owner, then inspect the actual link from an ad preview or test placement and each redirect. Realtime can help confirm a test visit; DebugView inspects events and collected parameters such as page_location. Neither establishes final session acquisition dimensions. After processing, compare the approved values with Traffic acquisition Session source/medium, Session campaign or the corresponding manual dimensions. Record consent, debug and filter conditions. If Developer Traffic excludes debug events, use an appropriate reporting sample instead of requiring the same debug event in standard reports. Keep missing evidence marked unknown.
Copyable final URL and acceptance record
| Field | Approved value here | Purpose | Owner | Pass evidence | Failure action |
|---|---|---|---|---|---|
| utm_source | meta | Identifies the verified platform in this case | paid media owner | Lowercase meta survives redirects | Stop the faulty link and repair the template |
| utm_medium | paid_social | Identifies paid-social traffic | analytics owner | Dictionary matches the GA4 session value | Keep the platform out of medium |
| utm_campaign | us_tumbler_summer_2026_prospecting | Market/category/theme/year/stage | campaign owner | Archive, ad and GA4 share the name | Do not rename casually mid-campaign |
| utm_content | video_leak_test_v1 | Separates this creative version | creative owner | Preview link maps to creative ID | Correct and click-test again |
| utm_term | Empty | No term-level decision this week | analytics owner | Archive explicitly says not used | Do not invent a keyword |
The expected URL is below. The worksheet later defaults to a separate travel-tumbler URL and the three channel examples use independent values. Do not combine them into one link:
https://example.com/products/leakproof-tumbler?utm_source=meta&utm_medium=paid_social&utm_campaign=us_tumbler_summer_2026_prospecting&utm_content=video_leak_test_v1
Pass: after an ad-preview or test-placement click, the destination retains all four approved values. Collection evidence explains the event and page parameters; the appropriate processed session dimensions separately confirm meta / paid_social and the complete campaign. Archive URL, version, owner, approval date, test conditions and evidence location.
Fail: if a redirect strips parameters, case changes, content does not match the creative, or the archive lacks an owner, stop the link, repair the template, and click again. Do not rewrite historical GA4 rows to manufacture a pass or use a UTM row to prove that ads caused a purchase.
Map polluted history; do not rewrite it
In the old window, fb has 38 sessions / 2 purchase events, facebook 41 / 3, Facebook 9 / 0, and meta 62 / 5. The mapped total is 150 sessions and 10 purchase events: a purchase-event-to-session count ratio of 10 divided by 150, about 6.7% when expressed as a percentage. This is event intensity, not the share of sessions that purchased: a session may contain multiple purchase events, and unique purchasing-session counts are not provided. Keep all four raw rows intact.
The 6.7% count ratio cannot establish a causal before-and-after difference with the new link. The old window may differ in creative, bidding, consent rate, and traffic mix. UTM repair removes naming ambiguity only. A consolidated Meta row proves more consistent classification, not a lift in purchase rate.
Plain-language field rules
More fields are not the goal. Each field should do one job.
Keep source and medium short, stable, and readable. Put richer detail in campaign, content, and term. Otherwise, you are cleaning spelling instead of reading traffic.
- utm_source: Use one stable lowercase value for each real source. Facebook, facebook and meta_paid remain separate raw values even when the team means the same source.
- utm_medium: Record the traffic type and inspect channel rules. Mixing platform, campaign and creative here makes classification harder.
- utm_campaign: Register the campaign before launch and keep its approved name across creatives. Different names split the initiative into separate records.
- utm_content: Identify the creative or link position within a campaign. Without it, clicks cannot reliably be linked to a particular asset.
- utm_term: Distinguish paid keywords from team-defined labels. Explain non-search labels in the dictionary and keep spelling and case consistent.
Three real-link examples
Do not memorize the five fields. Use one link and ask what each field must answer.
Choose a creator bio, email CTA or Meta example to inspect each field’s purpose and when term is useful. Start with the review question so medium does not become a container for every detail.
Reading order: first ask who sent the user, then what traffic type it is, and only then add campaign, creative, and keyword or audience labels.
Three real-link examples
Creator Jane places a 20oz commuter tumbler link in her short-video bio. The team needs to review clicks, order quality, and settlement later.
- Approved five-field values
- utm_source=creator_jane; utm_medium=creator; utm_campaign=us_tumbler_summer_2026_launch; utm_content=bio_link_demo_v1; utm_term=creator_jane
- Why this works
- Source names the creator, medium says creator traffic, campaign keeps the click inside the summer launch, and content separates the bio link from other assets.
- How to handle term
- Here term is not a search keyword. It is a creator label. Keep it only if the team uses it for partner archive or settlement review.
- Pre-launch QA
- Click the actual bio link and save final URL/parameters, test time and available collection evidence. After processing, verify creator_jane / creator in the appropriate session dimensions.
- Avoid this move
- Do not only write utm_source=jane. Three weeks later the team may not know whether Jane was a creator, employee account, affiliate, or social account.
The third email in the welcome flow sends new subscribers to the best-sellers collection with a hero CTA that says “Shop best sellers.”
- Approved five-field values
- utm_source=klaviyo; utm_medium=email; utm_campaign=welcome_first_purchase_2026; utm_content=hero_cta_shop_best_sellers; utm_term=new_subscriber
- Why this works
- Source names the email platform, medium is email, campaign names the flow goal, and content names the exact module and CTA.
- How to handle term
- Term can hold the segment label here. If the team does not review by segment, leaving it blank is better than inventing a fake keyword.
- Pre-launch QA
- Send a test email and click the hero CTA. Save final parameters and module position, inspect event collection separately, then verify klaviyo / email / welcome_first_purchase_2026 and the corresponding content dimension after processing.
- Avoid this move
- Do not use the subject line as campaign. Subject lines change; the business campaign should not split every time.
A Meta prospecting ad sends commuters to the 20oz tumbler product page with a leak-test short video.
- Approved five-field values
- utm_source=meta; utm_medium=paid_social; utm_campaign=us_tumbler_commuter_2026_prospecting; utm_content=leak_test_video_hook_a; utm_term=commuter_broad
- Why this works
- Source and medium record this case’s controlled origin and traffic type; inspect rules separately for default Paid Social classification. Campaign identifies the initiative and content the video hook.
- How to handle term
- Meta has no search keyword. Use term only as an audience or ad-set label, and keep it aligned with the ad account naming.
- Pre-launch QA
- Before launch, copy the final URL, click it once, and confirm tracking templates, short links, or in-app previews did not strip parameters.
- Avoid this move
- Do not write utm_medium as meta_paid_social_commuter. Medium is the traffic type; audience and creative belong in term and content.
Dictionary blueprint
Write the dictionary before anyone creates links.
A UTM dictionary gives operators, agencies, email teams, creators and affiliates the same approved values. Record their meaning and ownership before generating links.
For every new source, medium, or campaign value, answer what it means, who approved it, when it ends, and which GA4 report will review it.
Dictionary blueprint
| Item | Example | QA question |
|---|---|---|
| utm_source · One real source gets one approved value. | meta, google, klaviyo, creator_jane | Does this value tell the team where the traffic came from? |
| utm_medium · Only name the traffic type, not platform, campaign, or creative. | cpc, paid_social, email, affiliate | Will this value still land in the expected channel group? |
| utm_campaign · Register market, category, theme, year, and stage before launch. | us_tumbler_summer_2026_prospecting | Do all links in the same campaign use the same campaign value? |
| utm_content · Separate creative, placement, CTA, or email module. | video_hook_a, email_hero_cta | Can the review identify which creative or link position drove the click? |
| utm_term · Use paid keyword for search; explain audience, creator, or segment labels elsewhere. | insulated_tumbler, lookalike_3p | Can this term match the keyword, audience, or creator dictionary? |
Naming-drift worked case
One Meta initiative is tagged as facebook, fb, and meta: 1,000 sessions split into three rows.
Synthetic record: one initiative split across three sources
The numbers below are synthetic teaching data for UTM governance and report reading. The three links belong to the same business initiative, landing page, and time window; the only issue is that the team did not standardize utm_source.
- facebook sessions
- 420
- fb sessions
- 310
- meta sessions
- 270
- Total sessions
- 1,000
Google Analytics manual traffic-source dimensions read manually tagged values such as utm_source, utm_medium, utm_campaign, utm_term, and utm_content. Different naming values split the reporting dimension; they are not three business channels.
| Original utm_source | Original GA4 session dimension | Sessions | Origin |
|---|---|---|---|
| Session manual source = facebook | 420 | Legacy operator used the platform name | |
| fb | Session manual source = fb | 310 | Agency used an abbreviation |
| meta | Session manual source = meta | 270 | Current team used this case’s dictionary value |
Recalculate before comparing the three rows
420 + 310 + 270 = 1,000 sessions. They belong to one paid-social initiative, so “facebook beat fb” or “meta had only 27% of traffic” is not a valid channel conclusion. Mark the 1,000-session scope as naming contamination first, then reconcile page, order, and campaign-archive evidence.
Fix future naming without rewriting history
For future links, standardize the dictionary to utm_source=meta, utm_medium=paid_social, plus stable campaign/content rules. Historical facebook, fb, and meta rows remain historical collected values. A review sheet may map them to the same business initiative, but it should not pretend the old traffic was originally tagged with the new canonical UTM.
Launch QA sequence
Approve source / medium / campaign / content / term rules in the dictionary before generating the final link.
Click the real final URL and confirm redirects or short links preserve UTM; validate Google Ads separately under the lesson’s existing auto-tagging / GCLID boundary.
Read the corresponding GA4 Session manual source / medium / campaign dimensions and confirm the values match the dictionary.
Archive campaign owner, launch date, URL, dictionary version, and review date; without archive evidence, do not make long-term channel comparisons.
Review the official field and dimension mapping in URL builders / UTM parameters and manual traffic-source dimensions.
Reusable UTM naming rules
Do not reinvent UTM for every launch. Choose the scenario, then apply the rule.
Choose a link type to inspect approved values, common mistakes, tests and archive fields. The selected rule enters the copy note for the next Ads, email, creator or operations review.
Minimum rule: source says where traffic came from, medium says traffic type, campaign says business campaign, content says creative or placement, and term says keyword, audience, or label.
Reusable UTM naming rules
Google Ads, Meta, TikTok, or Pinterest campaigns need Ads, GA4, and Shopify order samples to point to the same campaign.
- Approved pattern
- Use source for the platform value such as google or meta; medium for cpc or paid_social; campaign as market_category_theme_year_stage; content for creative or placement; term only for keyword, audience, or segment labels.
- Do not use
- Do not put platform, stage, creative, and keyword into medium. Do not create a new campaign value for every creative.
- Launch QA
- Before launch, click the final ad URL, confirm GCLID or UTM reaches the final page, and see the expected source / medium / campaign in Traffic acquisition.
- Archive record
- Archive campaign ID, ad set or ad group, creative ID, budget window, page version, responsible lead, and next check date.
- Note for the archive
- Paid campaign rule: keep one campaign name per campaign, put creative changes in content, and put keyword or audience labels in term.
Trade show, package insert, retail card, offline event, or partner QR links need proof that short links, QR tools, or redirects did not strip parameters.
- Approved pattern
- Use source for the placement or partner, such as retail_popup, package_insert, or partner_store; medium as qr or offline; campaign stays with the same campaign value; content names the physical placement.
- Do not use
- Do not call every QR source offline, and do not generate the QR code before adding UTM. The order is full URL, click-test, then generate the code.
- Launch QA
- Scan the final code and save destination UTMs, test time and event-collection evidence. After processing, check the source and qr/offline medium in the appropriate session dimensions.
- Archive record
- Archive placement, print version, QR generator, short-link service, launch date, end date, responsible lead, and validation record.
- Note for the archive
- QR rule: validate the final scanned URL first, then place the offline location under source and content inside the same campaign.
Klaviyo, email automation, newsletter, abandoned-cart recovery, or repeat-purchase email needs separation between campaign send, flow, module, and audience.
- Approved pattern
- Use source for the email platform such as klaviyo; medium as email; campaign for newsletter, flow, or launch name; content for hero_cta, product_card, or footer_link; term can hold segment labels.
- Do not use
- Do not mix lifecycle flow and one-time campaign sends under one campaign value. Do not give every button the same content value.
- Launch QA
- Send a test email and click each key module. Inspect final parameters and collected events first, then verify email source/medium, campaign and content in the appropriate processed session/manual dimensions.
- Archive record
- Archive flow or campaign ID, segment, subject, email block position, offer, send window, suppression rule, and review link.
- Note for the archive
- Email rule: platform goes into source, email into medium, send or flow into campaign, and module or CTA into content.
When a campaign ends, an old name is reused, an evergreen campaign restarts, or quarterly review begins, the team needs to know which names can be reused and which are history only.
- Approved pattern
- Every campaign value needs business purpose, start date, end date, responsible lead, reuse condition, related URLs, budget window, and review link.
- Do not use
- Do not delete old values and pretend they never existed. Old values remain in GA4 history and must be marked as historical pollution or retired naming.
- Launch QA
- Before a new launch, check whether it reuses an old campaign value. If yes, confirm audience, offer, page, and review purpose are truly the same.
- Archive record
- Archive approved value, old-value mapping, reuse permission, retirement reason, responsible lead, review conclusion, and next naming-check date.
- Note for the archive
- Archive rule: do not rewrite history. Map old values, and reuse a name only when audience, offer, page, and review purpose match.
Build and record the final URL
Generate the final link with the tool before Ads, email, creators, or QR use it.
Choose the link type, take its approved fields to UTM Builder, inspect the result and store it in the relevant archive. The record should identify the purpose, owner and verification method.
UTM Builder generates the address. The team must first approve values, historical mapping, tests and the archive destination.
Approve naming, open UTM Builder, generate the link, inspect the actual click path, then store it in the campaign archive and handoff note.
Build and record the final URL
- Approved five-field values
- utm_source=klaviyo; utm_medium=email; utm_campaign=welcome_first_purchase_2026; utm_content=email_hero_cta; utm_term=new_subscriber
- Example destination
- https://example.com/collections/best-sellers
- Builder input
- Use UTM Builder to generate the official flow URL, then paste it back into the email module instead of letting each email invent its own campaign.
- Click-test
- Send a test email and click the hero CTA. Record final parameters and collected events, then verify klaviyo / email, the welcome campaign and email_hero_cta in the appropriate processed session/manual dimensions.
- Archive destination
- Archive the generated URL, flow ID, email name, segment, subject, email block position, and send window in the email review sheet.
- Blocked move
- Do not use email-platform click rate alone to call the first-purchase path healthy; first confirm GA4 and the landing page can carry the link.
- Approved five-field values
- utm_source=creator_jane; utm_medium=creator; utm_campaign=us_tumbler_summer_2026_launch; utm_content=short_demo_v1; utm_term=creator_jane
- Example destination
- https://example.com/products/20oz-tumbler
- Builder input
- Generate the creator-specific URL in UTM Builder before deciding whether to shorten it. Creator name, content version, and settlement identity must be in the fields.
- Click-test
- Click the actual creator link, verify preserved parameters and record collection evidence. After processing, check creator source, creator medium and campaign in the appropriate session dimensions.
- Archive destination
- Archive the generated URL, short URL, partner, commission or settlement rule, end date, responsible lead, and review link in the partner archive.
- Blocked move
- Without archive proof, do not use this creator traffic for long-term order-quality or commission decisions.
- Approved five-field values
- utm_source=retail_popup; utm_medium=qr; utm_campaign=ca_tumbler_popup_2026; utm_content=counter_card; utm_term=offline_sample
- Example destination
- https://example.com/pages/summer-popup
- Builder input
- Generate the final URL in UTM Builder first, click-test it in the browser, then place that URL in the QR Code tool.
- Click-test
- Scan the final code and save the observed URL, parameters and collection evidence. After processing, separately verify retail_popup as session source and qr as medium.
- Archive destination
- Archive the generated URL, QR file name, placement, print version, launch date, end date, and validation record in the offline campaign archive.
- Blocked move
- Do not generate the QR code before adding parameters. Once printed, the broken link is hard to recover.
QR Code Builder
Build and click-test the complete URL before passing it to the QR tool. Scan the final printed sample and archive placement, version, short-link service, launch and end dates.
Campaign link worksheet
This browser-local record stores fields and evidence; UTM Builder generates the link. Choose click context and tagging mode, copy approved values to the tool, then paste the result back. The worksheet does not visit the destination, follow redirects, publish links or confirm GA4 receipt.
Remove internal UTMs, with the correct GA4 mechanism: encountering a new campaign/source mid-session does not start a new session or attach the new values to the existing session source. The values may affect the events on which they were collected and event-scoped attribution. A tagged menu link is therefore no substitute for navigation events and mixes internal behavior with external-acquisition labels.
Campaign link and QA record
The 3 items marked Required need an answer. Start with item 1.
Use a parsable http/https URL; record existing parameters and avoid duplicate UTMs.
Record the dictionary value for one specific origin.
The paid_social, email, creator and qr examples do not alone guarantee an identically named default channel.
Use the stable approved name for the same initiative.
Separate video, CTA, module or physical placement.
Leave empty without a matching decision; an audience label is not an actual query.
Keep the version governing approved values and historical mapping.
Name the role maintaining links, dictionary and archive.
List short link, social tool and destination, or explicitly state no redirect.
Record tool output; it is not an observed visit.
Enter the observed browser address rather than treating an expected URL as proof; use authorized test records.
Record test environment, consent/filters, dimension scope, time, actual values and evidence location.
List old links, parameter-loss short links, unarchived creator links and blocked conclusions.
Not saved yet.
Kept in this browser only. Switching device or clearing browser data removes it; download a copy.
UTM Link Builder
Bring the destination and five approved fields, then put the complete result in URL returned by the builder. For an already-tagged destination, decide which UTMs to replace and avoid duplicate keys. Preserve other useful parameters/fragments and inspect the result. Do not invent or remove real Google Ads click identifiers. The tool does not approve naming or follow redirects.
With the default manual worksheet values, the expected URL is below, omitting empty term. It is separate from the earlier leakproof-tumbler case. The Google Ads content/term exercise illustrates supplemental manual dimensions; inspect all relevant fields for UTM fallback instead of copying this manual example.
https://shop.example.com/products/travel-tumbler?utm_source=meta&utm_medium=paid_social&utm_campaign=us_travel_tumbler_summer_2026&utm_content=video_hook_a
Can this link record enter review?
Remove internal UTMs
Hold
Complete fields and evidence first
Continue Ads auto-tagging QA
Record ready for review
How to handle an internal link
Self-check not answered
Save, restore, clear and JSON export affect the current browser record. Archive generated and observed URLs, GA4 check time, historical mapping and owner together. Record missing proof as pending; practice defaults are not validation results.
UTM naming checks
Practice with one real link: what breaks, how to fix it, and which conclusions are blocked.
Before launch, use broken examples to check whether the dictionary works. Repair case drift, missing source/medium, unclear click-tagging purposes or creator archive gaps before drawing budget conclusions.
UTM naming checks
utm_source=Facebook&utm_medium=paid-social&utm_campaign=SummerLaunch&utm_content=HookA
- Detected issue
- Source, medium, campaign, and content use mixed case or separators. These differences indicate naming drift.
- GA4 symptom
- Traffic acquisition shows facebook / Facebook / meta as separate rows, and the campaign review looks like several campaigns.
- Corrected values
- utm_source=meta; utm_medium=paid_social; utm_campaign=us_tumbler_summer_2026_launch; utm_content=video_hook_a.
- QA step
- Preserve the historical mapping, rebuild the link and inspect final parameters and collection. Verify source/medium/campaign separately in the appropriate processed session dimensions.
- Blocked conclusion
- Before naming is unified, do not claim Meta performed better than email.
utm_campaign=us_tumbler_summer_2026_launch&utm_content=email_footer
- Detected issue
- The link has campaign and content, but no source / medium, so GA4 cannot reliably read traffic source and type.
- GA4 symptom
- Reports may show (not set), unassigned, or direct / none, and the team may mistake it for stronger brand traffic.
- Corrected values
- utm_source=klaviyo; utm_medium=email; utm_campaign=us_tumbler_summer_2026_launch; utm_content=email_footer_cta.
- QA step
- Make source, medium, and campaign required in the template; after shortening, click the final link to confirm parameters stay intact.
- Blocked conclusion
- When source / medium is missing, do not treat direct / none as real brand demand.
utm_source=google_search&utm_medium=brand_cpc&utm_campaign=tumbler_brand&utm_term=insulated+tumbler
- Detected issue
- Keep Google Ads auto-tagging first. The problem is unexplained manual values and automatic/fallback scopes, not an assumption that manual source/medium always override automatic values.
- GA4 symptom
- Ads reports, Traffic acquisition, and manual dimensions disagree, so the review argues about which report is correct.
- Corrected values
- Keep auto-tagging and inspect actual click identifiers, linking and consent. With usable automatic values, content/term can supplement manual dimensions. For UTM fallback, inspect relevant source, medium, campaign, utm_id and utm_source_platform and document the reason.
- QA step
- Check Google Ads auto-tagging, redirects, and whether the final URL keeps GCLID before deciding whether manual tags are needed.
- Blocked conclusion
- Before click tagging is accepted, do not change bidding, delete campaigns, or shift budget.
utm_source=jane&utm_medium=social&utm_campaign=summer&utm_content=story
- Detected issue
- Source does not identify the partner, campaign is too generic, and medium cannot separate creator, organic social, or affiliate traffic.
- GA4 symptom
- Clicks appear, but three weeks later nobody knows whether jane was a creator, employee, affiliate, or social account.
- Corrected values
- utm_source=creator_jane; utm_medium=creator; utm_campaign=us_tumbler_summer_2026_launch; utm_content=story_demo_v1.
- QA step
- Add the responsible lead, partner, launch date, end date, commission or settlement rule, review link, and reuse permission to the archive.
- Blocked conclusion
- Without archive proof, do not use this creator traffic for long-term order-quality or commission decisions.
Evidence reuse paths
One UTM / keyword record should be reusable by Ads, GA4, SEO, and the archive.
Choose a scenario and record the link, GA4, SEO keyword and archive fields together. Keep each field’s source and scope so teams can reuse it without changing its meaning.
Evidence reuse paths
Can this Google Ads keyword / search term support both ad optimization and SEO topic work?
- Link fields
- Final URL, tracking template, GCLID state, utm_content, utm_term, match type, and keyword ID.
- GA4 fields
- Traffic acquisition Session campaign, Session source / medium, Manual term, Landing page, and purchase / key event.
- SEO keyword reuse
- Search Console query, SERP page type, current landing URL, and the primary page in the SEO Advanced keyword intent map.
- Archive fields
- Campaign ID, ad group, keyword layer, launch date, budget window, review date, and whether it enters the SEO content queue.
- Next route
- On ads, route to search terms / negatives first; on SEO, enter the keyword intent map only when the query shows stable demand and page ownership.
Can this email link naming separate audience, module, offer, and repeat-purchase quality?
- Link fields
- utm_source=klaviyo / email service, utm_medium=email, utm_campaign, utm_content, and utm_term / segment label.
- GA4 fields
- Traffic acquisition, Landing page, coupon, purchase, engaged sessions, and returning users.
- SEO keyword reuse
- Pass frequent questions, review language, and purchase reasons to SEO / content; do not treat discount-email subject lines as long-term keywords.
- Archive fields
- Flow / campaign ID, segment, subject, email block position, offer, send window, suppression rule, and review link.
- Next route
- Route to Email segmentation or lifecycle email review; GA4 proves the path, not the audience rule.
Did the short link, QR, or partner link preserve parameters, and can it support settlement and archive review?
- Link fields
- Full UTM URL, short URL, final landing URL, utm_source, utm_medium, utm_campaign, and partner / QR placement.
- GA4 fields
- Test time and Realtime/DebugView collection records; processed Session source/medium and purchase/form submit. Inspect UTM values in Page location; Landing page + query string identifies the page, not the UTM values.
- SEO keyword reuse
- If offline questions repeat, record them as content demand or FAQ candidates; do not treat QR traffic as organic-search demand.
- Archive fields
- Placement, launch date, partner, settlement rule, end date, short-link service, validation record, and responsible lead.
- Next route
- Route to launch QA or partner archive first; when parameters are stripped, do not use the data to judge channel quality.
Choose the tagging boundary
Google recommends auto-tagging for Google Ads. With both automatic and manual tags, traffic classification generally uses automatic values; manual content/term can populate their manual dimensions. If GCLID/DCLID cannot be used as intended, however, any UTM on the URL can make cross-channel classification fall back entirely to UTM values. Document relevant source, medium, campaign, utm_id and utm_source_platform for that exception; content/term alone are not a universal rule.
If GCLID is not visible, inspect linking, consent, auto-tagging and redirects first. Google also describes aggregate identifiers in some cases where GCLID is unavailable; that capability requires Ads–GA4 linking. An identifier in the address does not prove processed reporting, while its absence does not establish total attribution failure or justify overriding denial.
Which links need manual UTM, and which should keep auto-tagging?
Choose the tagging boundary
- Default action
- Keep auto-tagging. When usable, content/term may supplement manual dimensions; when UTM fallback is needed, inspect all relevant fields instead of retaining only those two.
- Risk
- Unexplained manual, automatic and fallback conditions can make different dimension scopes look interchangeable.
- Proof
- Record auto-tagging, linking, consent and actual final-address identifiers, then inspect the corresponding processed dimensions. Investigate missing visible GCLID without assuming total attribution failure.
- Default action
- Use manual UTMs with source, medium, campaign, and content for important modules.
- Risk
- Without content, you cannot separate hero clicks, product-card clicks, and footer links.
- Proof
- After a test click, GA4 Traffic acquisition shows the expected source and campaign.
- Default action
- Use manual UTMs; put the partner in source or term and explain it in the dictionary.
- Risk
- Mixing creators, affiliates, and commission channels makes order quality and settlement unclear.
- Proof
- Each partner link has a responsible person, launch date, end date, and review link.
- Default action
- Build the full UTM URL first, then create the short link or QR code, then click the final live link.
- Risk
- Redirects, in-app browsers, or short-link tools may strip parameters.
- Proof
- Keep the final URL/parameters and collection evidence at test time. Separately inspect processed session source; Realtime or DebugView does not replace that report check.
Choose a check by the issue
Do not spend and guess. Route the naming issue first.
Choose a check by the issue
- First check
- Check whether source and medium mix platform, traffic type, and campaign name.
- Fix
- Keep one standard value, mark old values as historical pollution, and stop reusing them.
- Stop rule
- Do not make budget conclusions from channel data before naming is unified.
- First check
- Confirm the link template requires source, medium, and campaign.
- Fix
- Rebuild pre-launch links from the template; mark already-live campaigns as incomplete data.
- Stop rule
- When (not set) is large, do not treat it as real channel performance.
- First check
- Inspect auto-tagging, linking, consent and click identifiers through redirects, then state whether manual source/medium/content/term serve supplemental dimensions or UTM fallback.
- Fix
- Repair actual tagging/redirect problems and record automatic classification, manual dimensions and fallback conditions separately. Inspect all relevant UTM fields for fallback; content/term are not the only permitted values.
- Stop rule
- Do not change bidding or delete campaigns before checking click tagging.
- First check
- Check for launch date, end date, responsible person, budget range, and review link.
- Fix
- Create a campaign archive; every new, stopped, or reused value needs a reason.
- Stop rule
- Without an archive, treat the review as directional, not precise.
Launch QA
Before launch, leave evidence the team can review later.
Launch evidence readiness
Hold
Evidence incomplete
Send to the owner for review
Keyword review
Do not judge keywords by CTR alone. Segment first, then choose the action.
CTR describes clicks; it cannot establish purchase intent or order quality. A keyword review also needs page behavior, order quality and margin samples. First verify what term and campaign mean; attribution and budget decisions need their own evidence.
Keyword review
Exploration terms
- Read
- Clicks, CPC, engagement, view_item, sample quality, and search intent.
- Action
- Keep a small test budget, add negatives, change the page, or rewrite the ad promise.
- Avoid
- Do not scale because of one or two orders.
Stable terms
- Read
- Order quality, AOV, margin, refund rate, page fit, and budget room.
- Action
- Expand close terms, improve the page, and increase budget with an observation window.
- Avoid
- Do not use CTR alone while ignoring margin and refunds.
Defensive terms
- Read
- Brand terms, repeat-purchase terms, competitor interception, and high-intent demand.
- Action
- Keep coverage, review separately, and do not scale like normal exploration terms.
- Avoid
- Do not mistake defensive traffic for new demand.
Negative terms
- Read
- Low intent, support, free, repair, wrong category, and price mismatch queries.
- Action
- Add negatives, change match type, update page promise, or split the ad group.
- Avoid
- Do not let low-intent clicks keep polluting the learning sample.
30-minute review
Use the review to assign a repair and an owner.
A 30-minute naming and keyword review
0-5 min
0-5 min
Lock the campaign and date range; do not mix old campaigns or unarchived links.
If it goes wrong
One campaign name, one date range, and one review link.5-12 min
5-12 min
Check source / medium / campaign for case drift, spaces, old values, (not set), direct / none, or unassigned anomalies.
If it goes wrong
Choose naming trusted, directional only, or fix naming first.12-20 min
12-20 min
Connect content and term to creative, email module, keyword, audience, or creator.
If it goes wrong
One creative or keyword readout, not a channel-level conclusion.20-27 min
20-27 min
Check landing page, view_item, add_to_cart, begin_checkout, and order quality.
If it goes wrong
Route the problem to naming, page, funnel, or profit review.27-30 min
27-30 min
Write the archive decision: reuse value, link fix lead, and next review check.
If it goes wrong
One campaign archive record another teammate can use.
Handoff notes
Turn the UTM issue into a review note the next step can use.
Record the issue, first evidence to inspect, repair, blocked conclusion and next step. The next landing-page or funnel reviewer can then distinguish naming problems from behavior differences.
Copy campaign link and review notes
- Current issue: One channel appears as Facebook, facebook, meta, and meta_paid.
- First evidence: (to fill in)
- Repair: (to fill in)
- Corrected values: (to fill in)
- Launch QA: (to fill in)
- Reusable GA4 fields: (to fill in)
- Naming rule: (to fill in)
- Five-field example: (to fill in)
- Term meaning: (to fill in)
- Builder values: (to fill in)
- Post-builder QA: (to fill in)
- Archive destination: (to fill in)
- SEO reuse: (to fill in)
- Archive fields: (to fill in)
- Blocked conclusion: (to fill in)
- Next channel: Google Ads
- Context and mode: External campaign into a landing page; Manual UTM
- Destination and generated URL: https://shop.example.com/products/travel-tumbler; (to fill in)
- Source, medium and campaign: meta; paid_social; us_travel_tumbler_summer_2026
- Content and term: video_hook_a; (to fill in)
- Dictionary and owner: utm_dictionary_v1; growth_lead
- Redirects and observed URL: (to fill in); (to fill in)
- GA4 evidence and failed samples: (to fill in); (to fill in)
- Record status: Complete fields and evidence first; (to fill in)
Archive and boundary
For the current campaign, inspect Traffic acquisition Session source/medium and Session campaign, or the corresponding Session manual dimensions. Use User acquisition’s First user scope for original acquisition. Different scopes answer different questions. UTM values are omitted from Landing page + query string and Page path + query string; inspect Page location and source dimensions before assuming parameters were stripped.
Google maintains default-channel rules, which are case-insensitive; raw UTM values remain case-sensitive. Local creator, qr, offline or meta values do not guarantee the intended default channel. Check current rules before defining a business-specific group and keep raw history intact. Mapping fb, facebook, Facebook and meta together in these cases requires ad/placement records confirming the same source scope. Keep distinct real platforms, such as Facebook and Instagram, distinct rather than merging similar-looking names.
A fuller review has four layers: impressions/clicks/CTR/CPC; landing page/engagement/view_item/add_to_cart; begin_checkout/purchase/AOV; then margin/refunds/order-quality samples. For example, more Meta product views, stronger email carting and missing creator content labels are separate behavior clues and repair gaps. Check mobile landing-page fit before declaring a channel winner.
If campaigns are not archived, UTM keeps polluting the next review.
The archive should include campaign name, responsible person, source / medium, content / term rules, launch date, end date, budget range, review link, and reuse permission. Traffic acquisition reads session source for this campaign, while User acquisition reads first-user source; when direct / none, unassigned, or (not set) looks unusual, return to final-link, redirect, and GCLID validation.
This lesson handles readable naming, verifiable links, and identifiable keyword labels.
It does not replace a full ad-attribution model, decide how much credit each platform deserves, or replace the profit sheet. Next, move into landing-page analysis or funnel analysis to check whether the page and event chain can carry the traffic.
Before the next lesson, bring three assets: one UTM dictionary, one final link that passed QA, and a handoff note explaining the naming issue and its resolution.
Official source boundary map
Official UTM sources can confirm fields, scopes, auto-tagging, and report definitions. They cannot prove campaign performance for you. Write the proof boundary before budget, landing-page, or funnel decisions.
Practice
| Item | Can prove | Cannot prove for you |
|---|---|---|
| URL builders | UTM fields, case sensitivity, and custom URL basics. | That one channel performed better or that the campaign archive is clean. |
| Google Ads auto-tagging | How GCLID and Google Ads click data reach Analytics. | That redirects, short links, or QR flows preserved every parameter, or that spend should increase. |
| Traffic-source dimensions | Manual tagging, auto-tagging, and source scopes. | How Google Ads should bid, or that manual UTMs can replace Ads click evidence. |
| Check auto-tagging | The final URL and GCLID preservation validation path. | That every short link, email link, and QR sample passed a real click test. |
| Traffic acquisition | The session source / medium / campaign read for this visit. | New-user source, order profit, or creative winner status. |
| User acquisition | The first-user source / medium read. | That this campaign session performed better than the Traffic acquisition read. |
| Direct / none | A starting point for missing-source diagnosis. | That organic brand demand increased or link repair is unnecessary. |
| Custom channel groups | That channel rules can be defined and maintained. | That the team already has a stable UTM dictionary, archive maintainer, and review cadence. |
No checkpoint finished in this lesson yet. Start with “Go to the exercise”.
Self-check not answered
Your work
- Record · Campaign link worksheetNot saved
- Note · Keyword reviewNot copied
Kept in this browser only. Switching device or clearing browser data removes it; download a copy.
FAQ
- How are utm_content and utm_term different?
utm_content separates creative, module, CTA, or placement such as hero_cta_shop_best_sellers. utm_term should only hold a keyword, audience, creator, or segment label when the team will actually review it. Leaving it blank is better than inventing a fake keyword.
- How should QR, offline, and email links be named?
QR and offline assets should name the retail_popup, package_insert, or partner source, use qr or offline as medium, and put the placement in content. Email links should use the email platform as source, email as medium, the flow or newsletter as campaign, and the module or CTA as content.
- Where should the generated URL from UTM Builder be written back?
Store the generated link in the campaign archive, handoff note and channel task. Include the observed final URL, five UTM fields, click-test time and owner. The tool generates an address; the team approves naming and verifies evidence.
- What should the UTM naming checks help me decide?
These checks determine whether a link has enough evidence for review. If fb / facebook / meta split into separate source rows, source / medium is missing, automatic and manual tagging purposes are unexplained, or creator links are unarchived, fix the link and archive before making budget, channel, or creative-winner conclusions.
- What problem does the evidence reuse path solve?
It lets Ads, GA4, Search Console / SEO keyword map, and the campaign archive reuse one UTM record. Traffic acquisition, keyword intent, ad search terms, and the archive can then read the same fields instead of each team creating a different version.
- When should Google Ads keep auto-tagging?
Keep Google Ads auto-tagging by default. When automatic tagging works, content/term can add their manual dimensions. If unusable click identifiers trigger UTM fallback, inspect all relevant source, campaign, ID and platform fields. Record the final address, linking, consent and processed reports; content/term alone are not sufficient in every case.
- Should I use Traffic acquisition or User acquisition?
Use Traffic acquisition when reviewing this campaign session source because it reads session source. Use User acquisition for original acquisition. These scopes answer different questions.
- What should I check first when direct / none rises?
Check final URLs, short links, QR samples, email test links, redirects, and GCLID preservation, then inspect the campaign archive for old value reuse. A direct / none increase does not automatically prove stronger organic brand demand or remove the need for link repair.
Continue with the unresolved question
Bring the dictionary version, observed final URL, GA4 scope and unresolved samples. Trusted labels make later page and funnel differences interpretable.