0%
IntelligencePricingInsightsAboutDealer IgnitionTry the Demo

Campaign Attribution for Dealers: UTMs, Click IDs, and Why They Matter

UTM parameter breakdown and campaign attribution dashboard

1. The Attribution Problem in Plain English

A customer is scrolling through Instagram on a Tuesday night. They see your ad for a 2026 Civic Sport. They click. They land on your website. They browse the vehicle page. They fill out a form: name, phone number, email, "I'm interested in the Civic Sport."

The form submits. Your CRM creates a lead record. The lead source says: "Web Lead."

That's it. That's all the context your CRM captured. "Web Lead." Not which ad they clicked. Not which campaign it was part of. Not which audience segment they belonged to. Not whether it was Google or Meta or your OEM site. Just "Web Lead" — the most useless label in automotive retail.

Now multiply this across 100 leads per month. You're spending $40,000-$80,000 on advertising across Google Search, Google Display, Meta, maybe TikTok, maybe your OEM co-op campaigns. Each platform has multiple campaigns. Each campaign has multiple ad sets. Each ad set has multiple creatives. Dozens of moving pieces, each consuming budget.

At the end of the month, your agency sends a report: "You generated 127 leads at $32 CPL." But which of those 127 leads came from which campaign? Which campaigns produced leads that actually bought cars? Which campaigns produced leads that never responded to a single message?

You don't know. Your CRM says "Web Lead" for 80% of them. Your agency report shows platform-level metrics but can't connect them to individual lead outcomes. The attribution gap sits between "ad click" and "lead record" — and it's where all of your marketing intelligence should live but doesn't.

The attribution gap doesn't just hide data. It hides decisions. Every month you run campaigns without attribution, you're making $40,000-$80,000 in budget decisions based on which campaigns got clicks — not which campaigns sold cars.

Why This Matters More Than You Think

Without attribution, every campaign looks roughly the same. Campaign A generated 30 leads. Campaign B generated 25 leads. Campaign C generated 22 leads. Based on lead volume, Campaign A wins. Based on CPL, maybe Campaign C wins.

But what if you could see the full picture? Campaign A generated 30 leads — 2 became deals. Campaign B generated 25 leads — 9 became deals. Campaign C generated 22 leads — 0 became deals. The decision matrix changes completely. Campaign B is your best performer despite having fewer leads. Campaign C is burning money despite having a reasonable CPL. Without attribution, you'd never know.


2. What Are UTM Parameters?

UTM parameters are tags you add to the end of a URL to track where a visitor came from. UTM stands for "Urchin Tracking Module" — a relic from the early days of Google Analytics, but the technology is universal and platform-agnostic.

When someone clicks a URL with UTM parameters, those parameters are passed to your website and can be captured by your forms, your analytics, and your lead management system. They answer the fundamental question: "Where did this person come from?"

The Five UTM Parameters

ParameterWhat It TracksExample
utm_sourceThe platform or site that sent the trafficgoogle, facebook, instagram, email
utm_mediumThe marketing channel or typecpc, organic, email, social, display
utm_campaignThe specific campaign namespring-civic-sale, silverado-clearance-q2
utm_contentThe specific ad or content variationvideo-walkaround, carousel-interior, headline-v2
utm_termThe keyword (primarily for paid search)civic+sport+2026, used+trucks+near+me

What a Tagged URL Looks Like

Here's a plain landing page URL:

https://yourdealer.com/specials/spring-civic-event

Here's the same URL with UTM parameters:

https://yourdealer.com/specials/spring-civic-event
  ?utm_source=facebook
  &utm_medium=cpc
  &utm_campaign=spring-civic-sale
  &utm_content=video-walkaround
  &utm_term=civic-sport

When a customer clicks this URL and submits a form on your website, the form can capture those UTM values and pass them into your CRM or lead management system alongside the customer's name and phone number. Now instead of "Web Lead," you have: source = Facebook, medium = paid social, campaign = Spring Civic Sale, content = video walk-around creative.

That context changes everything. You know exactly which campaign, which platform, and which creative variation generated this lead. When the lead becomes an appointment and the appointment becomes a deal, the attribution chain is complete — you can trace the sold unit back to the specific ad that started the journey.

UTM Naming Conventions

UTM parameters are only useful if they're consistent. Here are the rules that prevent attribution chaos:

  • Lowercase everything. Facebook and facebook will show as two separate sources in your analytics. Pick lowercase and stick with it.
  • Use hyphens, not spaces. Spaces in URLs become %20 and create messy data. Use spring-civic-sale not spring civic sale.
  • Be descriptive but concise. civic-sport-spring-2026-meta-retargeting is better than campaign-1 or spring-sale-facebook-ad-creative-version-3-final-v2.
  • Document your conventions. Every team member who creates campaigns should follow the same naming structure. Inconsistency kills attribution.

3. What Are Click IDs?

Click IDs are the ad platforms' own tracking mechanism. Unlike UTM parameters (which you define manually), click IDs are generated automatically by the platform every time someone clicks your ad. They're more precise than UTMs because they connect back to the exact click event in the ad platform's system.

Google's gclid

When auto-tagging is enabled in Google Ads (and it should always be enabled), Google appends a gclid parameter to every click automatically. A tagged URL looks like this:

https://yourdealer.com/specials/spring-civic-event
  ?gclid=EAIaIQobChMI1d3k4_abc123

That gclid string is a unique identifier for this specific click. When Google Analytics or your lead management system captures it, it can be sent back to Google Ads to record a conversion. This closes the loop between "someone clicked your ad" and "that click became a lead" — and if your system tracks further, "that lead became a deal."

Google auto-tagging provides more granular data than UTMs alone. It can connect a conversion back to the specific keyword, ad group, campaign, device, location, and time of day — without you having to set up UTMs for every permutation.

Meta's fbclid

Meta (Facebook/Instagram) appends an fbclid parameter to outbound clicks from ads. It works similarly to gclid — a unique click identifier that allows Meta to match conversions back to the originating ad.

https://yourdealer.com/specials/spring-civic-event
  ?fbclid=IwAR3abc123def456

The fbclid is used by the Meta Pixel and Conversions API to track conversions. When your website fires a "lead" conversion event and passes the fbclid, Meta can attribute that lead back to the specific ad, ad set, and campaign that generated the click. This feeds Meta's optimization algorithm — the platform learns which users are most likely to convert and shows your ads to more people like them.

UTMs + Click IDs: Use Both

UTMs and click IDs serve complementary purposes:

FeatureUTM ParametersClick IDs (gclid/fbclid)
Who creates themYou (manually configured)The ad platform (auto-generated)
GranularityCampaign, source, medium, contentIndividual click level
Platform dependencyPlatform-agnostic (works anywhere)Platform-specific (gclid = Google only)
Primary useInternal reporting and CRM attributionPlatform conversion tracking and optimization
DurabilityPermanent in URL, always readableCan be blocked by browsers/privacy settings

Best practice: always use both. UTMs give you platform-agnostic attribution data that lives in your CRM forever. Click IDs feed the ad platforms' optimization algorithms. Together, they provide complete attribution coverage.


4. How to Set Up UTM Tagging

This is the part where most dealerships (and many agencies) fail. They know UTMs exist. They might even use them occasionally. But they don't implement them consistently, and inconsistency is worse than nothing — it creates partial data that leads to wrong conclusions.

Here's the step-by-step setup for the two platforms that matter most for dealerships: Google Ads and Meta Ads.

Google Ads Setup (15 minutes)

  1. Enable auto-tagging. Go to Google Ads → Admin → Account Settings → Auto-tagging → Turn On. This adds gclid to every click automatically. There is no reason to ever turn this off.
  2. Set an account-level tracking template. Go to Google Ads → Admin → Account Settings → Tracking. In the "Tracking template" field, enter:
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={campaignname}&utm_content={creative}&utm_term={keyword}

The curly-brace variables ({campaignname}, {creative}, {keyword}) are Google's ValueTrack parameters — they auto-populate with the actual campaign name, creative ID, and keyword for each click. You set this once at the account level and every ad in every campaign automatically gets UTM-tagged.

  1. Test it. Click "Test" in the tracking template interface. Google will verify the URL resolves correctly. Then click one of your own ads from a search result and check the landing page URL — you should see the UTM parameters appended.

Meta Ads Setup (10 minutes)

  1. Set URL parameters at the campaign or ad level. In Meta Ads Manager, when creating or editing an ad, scroll to the "URL Parameters" field in the Tracking section. Enter:
utm_source=facebook&utm_medium=cpc&utm_campaign={{campaign.name}}&utm_content={{ad.name}}

Meta's dynamic variables ({{campaign.name}}, {{ad.name}}) auto-populate with the actual names from your campaign structure. Note: Meta uses double curly braces, not single.

  1. Apply at the campaign level. If you set URL parameters at the campaign level, they inherit down to all ad sets and ads within that campaign. This prevents per-ad configuration and ensures consistency.
  2. Verify fbclid. Meta auto-appends fbclid by default. Verify it's not being stripped by your landing page or website platform. Some WordPress plugins and CDNs strip query parameters — this breaks both UTM and click ID tracking.

Common Mistakes to Avoid

  • Inconsistent capitalization: Google vs google vs GOOGLE — these show as three different sources. Standardize on lowercase.
  • Spaces in values: Spring Sale becomes Spring%20Sale in URLs. Use hyphens: spring-sale.
  • No naming convention: If one person uses spring-civic-sale and another uses civic-promo-spring-2026 for the same campaign, your reports will show them as different campaigns. Document and enforce naming conventions.
  • Tagging some campaigns but not others: Partial attribution is misleading. If you tag 3 of your 5 campaigns, the untagged campaigns show zero leads in your attribution report — when they might be your best performers. Tag everything or tag nothing.
  • Not testing: Always click your own ad and verify the landing page URL contains the expected UTM parameters. A single misconfigured URL template can break attribution for an entire campaign.

UTM tagging takes 15 minutes to set up properly. Bad attribution decisions cost thousands of dollars per month. The ROI on those 15 minutes is difficult to overstate.


5. How Diablo Captures Attribution

Tagging your URLs is only half the equation. The other half is capturing those tags when the lead arrives and preserving them through the entire customer journey — from first touch to closed deal.

Most CRMs lose attribution data at the point of entry. The form captures name, email, phone number — but drops the UTM parameters from the URL. Or it captures them in a "notes" field that nobody reads. Or it captures utm_source but ignores utm_campaign and utm_content. The data exists in the URL for a fraction of a second and then disappears.

Automatic UTM Capture

When a lead enters Diablo through any channel — website form, Facebook Lead Ad, or third-party webhook — the system automatically extracts and stores all available attribution data:

Data PointWhere It Comes FromHow Diablo Captures It
utm_sourceURL parameter on form submissionExtracted from referrer URL or hidden form field
utm_mediumURL parameter on form submissionExtracted from referrer URL or hidden form field
utm_campaignURL parameter on form submissionExtracted from referrer URL or hidden form field
utm_contentURL parameter on form submissionExtracted from referrer URL or hidden form field
utm_termURL parameter on form submissionExtracted from referrer URL or hidden form field
gclidGoogle Ads auto-taggingExtracted from URL parameter
fbclidMeta auto-taggingExtracted from URL parameter
Lead source channelFacebook Lead Ad, web form, webhookIdentified by ingest method

Every lead record in Diablo carries its attribution data as a permanent, structured field — not a note, not a tag, not a free-text field. Structured data means it can be filtered, sorted, grouped, and reported on at the campaign level.

Attribution Through the Funnel

The attribution data doesn't stop at lead creation. It follows the lead through every stage of the funnel:

  • Conversation stage: When the AI engages the lead, the conversation is tagged with the originating campaign. You can see how leads from Campaign A respond differently than leads from Campaign B.
  • Appointment stage: When an appointment is booked, it inherits the lead's attribution. You can see which campaigns produce appointments — not just leads.
  • Show/no-show: When the appointment is marked as showed or no-showed, the attribution persists. You can see which campaigns produce shows — not just appointments.
  • Deal stage: When a deal closes, the campaign attribution is available for ROAS calculation. You can see which campaigns produce revenue — not just leads, not just appointments, but actual gross profit.

This is the attribution chain that most automotive tech stacks break. The CRM captures the lead but loses the campaign. The AI tool handles the conversation but doesn't know the source. The DMS records the deal but has no connection to the originating ad. Diablo maintains the chain from first click to closed deal because it's a single system — the attribution data never leaves the platform, never gets translated between formats, and never gets lost in a vendor handoff.

Facebook Lead Ads

Facebook Lead Ads present a unique attribution challenge because the form is submitted inside the Facebook app — the customer never visits your website. There's no URL to carry UTM parameters.

Diablo handles this by capturing the attribution data directly from Meta's Lead Ads API. When a lead is delivered via webhook, the payload includes the campaign ID, ad set ID, ad ID, and the form ID. Diablo maps these to human-readable campaign names and stores the attribution data on the lead record, exactly as if the customer had submitted a web form with UTMs.


6. From Attribution to ROAS

Attribution is the foundation. ROAS is the building. Without attribution, ROAS is incalculable — you know what you spent but not what you made. With attribution, ROAS becomes a precise, campaign-level metric that tells you exactly where your money is working and where it's wasted.

The ROAS Formula

ROAS = Gross Profit Generated / Ad Spend

That's it. If Campaign A spent $2,000 and the deals attributed to Campaign A generated $28,000 in front-end gross profit, the ROAS is 14x. For every dollar you spent, you made fourteen dollars in gross profit.

But this simple formula requires two inputs that most dealerships don't have at the campaign level:

  1. Ad spend per campaign: This is available from the ad platform. Google Ads and Meta Ads both report spend at the campaign level. Your agency should provide this monthly.
  2. Gross profit per campaign: This is only available if you can connect deals back to the campaigns that generated them. This is the attribution chain. Without it, you have spend data but no revenue data — and ROAS is impossible to calculate.

What Campaign-Level ROAS Reveals

Consider this illustrative example: a dealership running five campaigns with a total monthly spend of $15,000.

CampaignSpendLeadsCPLDealsGrossROAS
Civic Spring Sale (Meta)$3,20035$916$21,0006.6x
Brand Awareness (Meta)$2,80042$671$2,8001.0x
Used Trucks (Google)$3,50028$1258$32,0009.1x
Service-to-Sales (Email)$50012$423$10,50021.0x
OEM Co-op Display$5,00018$2780$00x

Illustrative example showing how campaign-level ROAS changes budget decisions.

Look at what this data reveals. The Brand Awareness campaign has the best CPL ($67) but the worst ROAS (1.0x) — it generates cheap leads that don't buy cars. The Used Trucks campaign has the worst CPL ($125) but the second-best ROAS (9.1x) — expensive leads that actually close. The OEM Co-op Display campaign consumed $5,000 and produced zero deals.

Without attribution, the monthly report would show: "127 leads at $118 average CPL." The Brand Awareness campaign would look like the star performer. The OEM Co-op would be invisible. The budget would stay flat across all five campaigns. With attribution, the decision is obvious: shift the OEM Co-op budget to Used Trucks and Service-to-Sales.

The Compounding Effect

Campaign-level ROAS data doesn't just improve this month's decisions. It compounds. Every month you run campaigns with attribution, you accumulate data about what works for your specific dealership, in your specific market, with your specific customer base.

After three months, you know which creative styles produce closers versus browsers. After six months, you know which seasons favor which vehicle segments. After twelve months, you have a data asset that no competitor can replicate — a year of closed-loop attribution data that tells you exactly how to allocate every marketing dollar.

For a deeper look at how this compounding advantage works, see The Closed Loop: How to Trace Every Ad Dollar to Every Sold Unit. For the complete breakdown of ROAS as a metric, see ROAS for Dealerships: The Only Metric That Matters.

Getting Started

The gap between "no attribution" and "full attribution" feels enormous, but it's not. It starts with two 15-minute tasks:

  1. Set up UTM tracking templates in Google Ads and Meta Ads (as described in Section 4)
  2. Ensure your lead capture system (Diablo, CRM, or web forms) captures and stores UTM parameters alongside lead data

That's the foundation. Everything else — campaign-level reporting, ROAS calculation, budget optimization, the compounding data advantage — builds on top of those two steps. The technology isn't complicated. The setup isn't expensive. The only cost is the 15 minutes it takes to configure it — and the cost of not doing it is months of blind budget decisions you can never get back.

Attribution isn't a reporting feature. It's a decision-making infrastructure. Every campaign you run without it is a decision you made in the dark. Every campaign you run with it is a decision you can defend, optimize, and compound.

Frequently Asked Questions

UTM parameters are tags added to the end of URLs that tell you exactly where a website visitor came from. They track five dimensions: source (google, facebook), medium (cpc, email), campaign (spring-civic-sale), content (ad variation), and term (keyword). Without them, your CRM just says "web lead" with no context about which specific campaign generated it.
UTM parameters are manually configured tags you define yourself — they tell you which campaign, source, and medium generated a click. Click IDs (gclid for Google, fbclid for Meta) are automatically generated per click by the ad platform. Click IDs are more precise because they connect back to the exact click event in the ad platform, enabling conversion tracking and audience optimization.
In Google Ads, go to Account Settings and set a tracking template at the account level. Use the format: {lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={campaignname}&utm_content={creative}&utm_term={keyword}. Google will auto-populate the dynamic variables for each click. This takes about 15 minutes and applies to every ad in your account.
Yes, always. Google auto-tagging appends a gclid parameter to every click automatically. It provides more granular data than UTMs alone — connecting back to the specific keyword, ad group, and campaign in Google Ads. Auto-tagging and UTMs work together. Use both.
When a lead enters Diablo through a web form, Facebook Lead Ad, or webhook, the system automatically captures any UTM parameters and click IDs attached to the lead. Every lead gets tagged with its origin — source, medium, campaign, content, and term — without any manual entry. This attribution follows the lead through conversations, appointments, and deals.
ROAS (Return on Ad Spend) measures gross profit generated per dollar spent on advertising. Attribution makes ROAS calculable by connecting a specific campaign's ad spend to the specific deals it generated. Without attribution, you know what you spent but not what you made. With attribution, you can calculate true ROAS per campaign and shift budget to the campaigns that actually sell cars.
Rheis Setter

Rheis Setter

Partner & Creative Director, Dealer Ignition

Rheis is the Partner and Creative Director at Dealer Ignition, where he leads campaign strategy and creative execution for franchise dealerships across North America. He brings a unique blend of creative vision and data-driven thinking to automotive marketing.

Learn more about Diablo AI →

Know where every
dollar goes.

Stop guessing which campaigns sell cars. Attribution takes 15 minutes to set up and changes everything.

Try the Demo See Intelligence