How to Measure Car Wash Marketing ROI: From Clicks to Revenue
Why “is my marketing working?” is harder for a car wash
In some digital business models, the purchase can happen in the same website or app where much of the marketing journey is measured. A car wash often has a larger online-to-offline gap: someone may discover the wash digitally, then buy at a physical location in a separate system. They might see an ad, search "car wash near me," tap for directions, and then pull into your bay two days later and pay at a terminal that has no idea an ad was ever involved. The outcome that matters — a wash bought, a membership started, revenue collected — happens at a physical site, disconnected from the click that may have started it.
That gap is the core measurement challenge. This is why car-wash marketing measurement can become misleading when platform activity is treated as proof of offline business results. Platforms can show you impressions, clicks, and interactions in great detail, and it's tempting to treat those as proof of business results. But the click and the sale live in different systems, and the connection between them can be incomplete. Measurement here is a wider system than any one dashboard — this article is the measurement piece of that system, and it sits inside the broader car-wash marketing system that decides what to do in the first place. This guide is about telling, with honesty, whether the marketing paid off.
The four tiers: exposure, proxy, outcome, economics
Most measurement confusion comes from treating four different kinds of number as if they were one. Keeping them in separate tiers is the foundation of everything else.
Activity / exposure — impressions, reach, video views, post engagement. These tell you about delivery: was the content shown, to how many, how often. They're useful for diagnosing creative and channel performance. They do not prove a visit, a customer, a membership, or a dollar of revenue.
Intent / proxy actions — ad clicks, website sessions, directions requests, call-button clicks, a website click from your Google Business Profile, membership-page views, a started signup, a coupon claim, a form submission. These are stronger signals — someone did something that suggests interest. But a proxy is still not the outcome it points toward. The single most important discipline in this whole article, inherited from the broader marketing system: don't let a proxy event inherit the value of the business outcome it's meant to predict. A directions request is not a visit; a membership-page view is not a membership.
Business outcomes — an identified physical visit where measurable, a redeemed offer, a completed wash transaction, a membership start, recurring membership revenue where measured, and recognized or recorded sales revenue. These are the things that actually matter to the business. Keep them distinct from one another too: a website action isn't a physical visit, a visit isn't a transaction, a transaction isn't a membership start, and a membership start isn't retained revenue. (Note the distinction we'll return to under attribution: revenue can be a real business outcome; attributed revenue is revenue assigned to a source or campaign by a model or rule.)
Economics — CPA, CAC, ROAS, ROI, conversion value, revenue, contribution or profit, and (carefully) lifetime value. This is where you decide whether the outcomes were worth what they cost. "ROI" is not a synonym for every performance number here; it has a specific meaning we'll get to.
Exposure
Impressions, reach, ad delivery, social delivery
Interaction
Click, profile interaction, website session
Intent
Directions request, call click, membership-page view, begin-signup
Business Outcome Layer — parallel alternatives, not a sequence
These can happen in different orders — or never be observed. One does not have to precede another.
Economic Outcome
- Revenue
- Contribution / profit measure where available
Not every customer moves through every measurable stage. Business outcomes can happen in different orders or remain unobserved. Each connection is a measurement opportunity, not proof that one step caused the next.
The Perennis measurement framework
Here's a way to organize the work of measurement. This is a Perennis measurement framework — an operator system, not an industry standard, not a perfect-attribution machine, and not a rigid one-time funnel:
Define → Track → Connect → Value → Decide
- Define — choose the actual business outcomes and economics that matter before opening a dashboard. If you don't know what a win looks like, no amount of data will tell you.
- Track — capture activity, proxy, and business-outcome events without conflating the tiers. The point is to know which tier each number belongs to.
- Connect — link online and offline observations where you can. This is where the click starts to reach the sale. But be precise about what this buys you: connection identifies observable relationships; attribution still depends on a model or rule, and connection alone does not prove causality.
- Value — apply the correct economic definition (CPA, CAC, ROAS, ROI) with explicit denominators and cost scope, never letting a proxy inherit an outcome's value.
- Decide — interpret the evidence alongside attribution limits and car-wash confounders, then decide what to improve.
The loop runs Decide → Define / Track, because a decision can reveal that you defined the wrong outcome, or weren't tracking an important event or source in the first place. Measurement isn't a one-time setup; it's something you tighten as you learn what you can't yet see.
Define what actually counts as an outcome
Before measuring anything, decide what a real outcome is for your wash — and be strict about the difference between the steps. A website action, a physical visit, a redeemed offer, a wash transaction, a membership start, and retained revenue are distinct outcomes or stages that can occur in different orders — and some may never be observable in the same customer journey. Collapsing them can create misleading reporting because a proxy or early-stage outcome can end up carrying value it has not yet produced. A campaign that generates lots of membership-page views has produced consideration, not members. A campaign that produces membership starts has produced acquisition — but a membership start is an acquisition outcome, and its longer-term economic value depends on what happens after signup. Where retained member value enters your economics, that's the domain of car-wash membership churn; here, the point is to define outcomes precisely enough that you don't credit marketing with value that later leaks away.
Track the right signals (including from your Google Business Profile)
Once you know which outcomes matter, capture the right events — and understand what your tools actually call them. In Google Analytics, the current chain is Event → Key Event → Conversion. An event is any collected interaction (a page view, a click, a scroll). A key event is an event you've marked as particularly important to the business (a purchase, a completed signup). A conversion can be created from an event or key event so the same important action can be measured consistently for advertising across Google Analytics and linked Google Ads. These are product and configuration concepts — not proof of business value.
That last point matters more than it sounds: a platform "conversion" can still be a proxy if the action you configured is only a website step rather than the real outcome. If you set up a membership-page view as a key event or conversion, the platform will happily count it — but it should not inherit the value of a completed membership just because it carries an important-sounding label.
Your Google Business Profile is a rich source of these proxy signals. Its performance metrics can include searches and search terms, profile views, directions requests, call-button clicks, website clicks, and bookings or messages where applicable. All useful — and all interactions, not outcomes: a directions request isn't a confirmed arrival, a call-button click isn't a completed call or a sale, a website click isn't a transaction, and a profile view isn't a customer. Treat them as intent proxies in your measurement, and don't call them conversions unless you've separately configured a defined measurement action. The strategy of improving those signals belongs to local SEO for car washes; here they're simply inputs to the measurement picture.
A useful measurement sheet should also state what each metric actually means — and, just as important, what it does not prove.
| Metric | Definition | What it tells you | What it does NOT prove | Best source / system |
|---|---|---|---|---|
| Impressions / reach | Times content was shown / people reached | Delivery and awareness potential | Interest, a visit, or a sale | Ad / social platform |
| Clicks | Clicks on an ad or link | Interest strong enough to click | A physical visit, customer, or transaction | Ad platform / Search Console |
| Website sessions | Visits to the website | Site traffic and landing-page activity | An offline visit or purchase | GA4 |
| GBP directions requests | Requests for directions through Google Business Profile | Local intent | A confirmed arrival | Google Business Profile |
| Membership-page views | Views of the membership / plan page | Consideration | A membership start | GA4 |
| Begin-signup | A defined signup-start event or key event | Stronger signup intent | A completed membership | GA4 |
| Redeemed offers | Offers actually redeemed under the operator's POS / promotion rules | A real redemption / transaction event | Incrementality or marketing causation by itself | POS / promotion system |
| Identified first-time customers / visits (where measurable) | Customers or visits the operator's system can reasonably identify as first-time under documented rules | New-customer acquisition where measurable | Which channel caused the visit, or that unidentified customers are returning | POS / membership / customer-identification system |
| Wash purchases | Completed wash transactions | Revenue-producing business outcomes | Which marketing caused them | POS |
| Membership starts | New memberships started | Recurring-revenue acquisition | Retention or long-term member value | Membership platform |
| Revenue | Recorded / recognized sales revenue under the operator's reporting convention | Top-line business result | Profit or marketing causation | POS / accounting |
| Attributed revenue | Revenue assigned to a source or campaign by an attribution model or rule | The model's credit allocation | Independently verified causation | GA4 / ad platform / attribution system |
| CPA | Campaign / ad cost ÷ number of the specifically named conversion action | Media-level cost efficiency for that defined action | Fully loaded customer acquisition cost | Ad platform + outcome system |
| CAC | Total defined acquisition costs ÷ new customers / members acquired | Loaded cost to acquire under the operator's stated cost scope | Comparability with a differently scoped CAC or media-only CPA | Finance + marketing / customer systems |
| Revenue ROAS | Attributed revenue ÷ ad spend | Revenue efficiency of advertising spend | Profit | Ad platform + outcome / revenue system |
| Marketing ROI | (Attributable contribution before marketing − marketing cost) ÷ marketing cost, under the article's stated Perennis convention | Profit / contribution efficiency under the defined assumptions | A universal accounting standard or causation by itself | Finance + POS + attribution inputs |
| Conversion rate | Defined completed outcome ÷ defined eligible starting population / interactions | Efficiency of one specifically defined step | Value, profitability, or comparability with a rate using a different denominator | GA4 / POS / relevant outcome system |
Impressions / reach
- Definition
- Times content was shown / people reached
- What it tells you
- Delivery and awareness potential
- What it does NOT prove
- Interest, a visit, or a sale
- Best source / system
- Ad / social platform
Clicks
- Definition
- Clicks on an ad or link
- What it tells you
- Interest strong enough to click
- What it does NOT prove
- A physical visit, customer, or transaction
- Best source / system
- Ad platform / Search Console
Website sessions
- Definition
- Visits to the website
- What it tells you
- Site traffic and landing-page activity
- What it does NOT prove
- An offline visit or purchase
- Best source / system
- GA4
GBP directions requests
- Definition
- Requests for directions through Google Business Profile
- What it tells you
- Local intent
- What it does NOT prove
- A confirmed arrival
- Best source / system
- Google Business Profile
Membership-page views
- Definition
- Views of the membership / plan page
- What it tells you
- Consideration
- What it does NOT prove
- A membership start
- Best source / system
- GA4
Begin-signup
- Definition
- A defined signup-start event or key event
- What it tells you
- Stronger signup intent
- What it does NOT prove
- A completed membership
- Best source / system
- GA4
Redeemed offers
- Definition
- Offers actually redeemed under the operator's POS / promotion rules
- What it tells you
- A real redemption / transaction event
- What it does NOT prove
- Incrementality or marketing causation by itself
- Best source / system
- POS / promotion system
Identified first-time customers / visits (where measurable)
- Definition
- Customers or visits the operator's system can reasonably identify as first-time under documented rules
- What it tells you
- New-customer acquisition where measurable
- What it does NOT prove
- Which channel caused the visit, or that unidentified customers are returning
- Best source / system
- POS / membership / customer-identification system
Wash purchases
- Definition
- Completed wash transactions
- What it tells you
- Revenue-producing business outcomes
- What it does NOT prove
- Which marketing caused them
- Best source / system
- POS
Membership starts
- Definition
- New memberships started
- What it tells you
- Recurring-revenue acquisition
- What it does NOT prove
- Retention or long-term member value
- Best source / system
- Membership platform
Revenue
- Definition
- Recorded / recognized sales revenue under the operator's reporting convention
- What it tells you
- Top-line business result
- What it does NOT prove
- Profit or marketing causation
- Best source / system
- POS / accounting
Attributed revenue
- Definition
- Revenue assigned to a source or campaign by an attribution model or rule
- What it tells you
- The model's credit allocation
- What it does NOT prove
- Independently verified causation
- Best source / system
- GA4 / ad platform / attribution system
CPA
- Definition
- Campaign / ad cost ÷ number of the specifically named conversion action
- What it tells you
- Media-level cost efficiency for that defined action
- What it does NOT prove
- Fully loaded customer acquisition cost
- Best source / system
- Ad platform + outcome system
CAC
- Definition
- Total defined acquisition costs ÷ new customers / members acquired
- What it tells you
- Loaded cost to acquire under the operator's stated cost scope
- What it does NOT prove
- Comparability with a differently scoped CAC or media-only CPA
- Best source / system
- Finance + marketing / customer systems
Revenue ROAS
- Definition
- Attributed revenue ÷ ad spend
- What it tells you
- Revenue efficiency of advertising spend
- What it does NOT prove
- Profit
- Best source / system
- Ad platform + outcome / revenue system
Marketing ROI
- Definition
- (Attributable contribution before marketing − marketing cost) ÷ marketing cost, under the article's stated Perennis convention
- What it tells you
- Profit / contribution efficiency under the defined assumptions
- What it does NOT prove
- A universal accounting standard or causation by itself
- Best source / system
- Finance + POS + attribution inputs
Conversion rate
- Definition
- Defined completed outcome ÷ defined eligible starting population / interactions
- What it tells you
- Efficiency of one specifically defined step
- What it does NOT prove
- Value, profitability, or comparability with a rate using a different denominator
- Best source / system
- GA4 / POS / relevant outcome system
Always name the numerator and denominator. A membership-start rate from eligible membership-page sessions, a redeemed-offer rate from claimed offers, and a landing-page conversion rate from eligible sessions are three different conversion rates — they are not directly comparable just because each is expressed as a percentage.
Connect online activity to offline outcomes
This is the hard, central problem for a car wash: linking a digital interaction to a sale that happens at a physical site. A few approaches help close the gap — none of them perfectly.
Campaign identifiers are the most accessible. UTM-tagged links, campaign-specific landing pages, QR codes, campaign-specific offers, redemption codes, POS promotion codes, unique forms, membership-source fields, call tracking where appropriate, and CRM/POS source capture all help. These methods can improve identification of the campaign, source, offer, or touchpoint associated with an interaction or redemption. But hold onto this distinction: better identification is not perfect attribution. A UTM, QR code, redemption code, source field, or call tracker does not by itself prove marketing causation or incrementality — a coupon code proves the code was redeemed under your system's rules, not that the customer wouldn't have come anyway.
Offline conversion measurement goes further. Where you have the technical setup, appropriate identifiers, and permission to use the data, it can connect some digital interactions to later offline outcomes — closing part of the gap between an ad click and a real sale. It does not produce perfect matching, and it does not prove incrementality. (The implementation details change; the concept is what matters here.)
Google Analytics' Measurement Protocol can send server-side and offline interactions into Analytics, but it's intended to augment normal tagging and collection, not replace it. Joining online and offline data depends on having appropriate identifiers, not every offline event can or should be joined, and sending an event doesn't make attribution complete.
Google Ads Store Visits can help bridge ad engagement to estimated offline visitation — but read the word "estimated" carefully. Store Visits are modeled estimates, subject to eligibility requirements that not every account or location meets. They do not give you a list of identifiable individual visitors, and a modeled store visit is not a verified wash transaction and not a membership start. It's a useful directional bridge for eligible advertisers, not a headcount.
ROI, ROAS, CPA and CAC: what each actually means
These four terms get used interchangeably, and that's where a lot of bad decisions start. Each is a different metric with a different denominator.
Revenue ROAS = attributed revenue ÷ ad spend. It measures the revenue efficiency of your spend. It is not profit, and revenue ÷ spend should never be labeled ROI.
CPA (cost per action) = campaign or ad cost ÷ the number of a specifically defined conversion action. Always name the action — cost per completed membership start, cost per redeemed offer, cost per qualified lead. If the action is a completed membership start, CPA works as a media-level cost per membership start. It is still not automatically your fully-loaded acquisition cost.
CAC (customer acquisition cost) = total defined acquisition costs ÷ new customers or members acquired. Here you define the cost scope — it may include media, creative, agency or service fees, promotional and discount cost, technology, and other acquisition costs. Because the scope is a choice, the number is only meaningful when you state it. Never compare a media-only CPA from one channel against a fully-loaded CAC from another as if they used the same cost basis — that is not an apples-to-apples comparison because the cost scopes are different.
Marketing ROI is the profit question, and it needs a careful formula so you don't subtract marketing cost twice:
(attributable contribution before marketing − marketing cost) ÷ marketing cost
where attributable contribution before marketing = attributed revenue minus the directly relevant cost of delivering that revenue (for example wash variable cost or cost of goods where measurable, plus promotional/offer cost) — before you subtract the marketing cost that sits in the denominator. (If you already work from net profit after marketing, an alternative is net profit attributable to the marketing activity ÷ marketing cost — but don't mix the two in one calculation.) This is a practical operator convention, not the one mandatory accounting formula; Google itself describes ROI generally as net profit relative to cost, with the exact calculation depending on the business. The through-line: revenue is not profit, and offer cost must not disappear from the analysis.
A few illustrative examples make the differences concrete. These numbers are made up to show the math — not benchmarks, not results.
Example A — ROAS vs ROI. You spend $1,000 and a model attributes $4,000 of revenue to the campaign. ROAS = 4,000 ÷ 1,000 = 4. Looks great. Now compute contribution: subtract the variable cost of delivering those washes and the discount you offered — say that leaves $1,400 of contribution before marketing. ROI = (1,400 − 1,000) ÷ 1,000 = 0.4, or 40%. Still positive, but a very different story than "4×" — because revenue ROAS does not incorporate those costs by definition, while the contribution-based ROI calculation in this example does.
Example B — media CPA vs fully-loaded CAC. If a campaign costs $2,000 in media and drives 40 attributed membership starts, media CPA = $50 per start. But add $600 of creative, $400 of promotional cost, and $200 of tooling, and fully-loaded CAC = 3,200 ÷ 40 = $80. Same campaign, two legitimate numbers — which is exactly why you must state the cost scope before comparing anything.
Example C — offer measurement. A promotion generates 500 coupon claims, of which 300 are redeemed, of which 90 become memberships. Claims aren't redemptions, redemptions aren't proof the customer wouldn't have come anyway, and revenue from those washes is still revenue, not ROI. To evaluate profitability, include the relevant offer/discount cost, delivery/variable cost, and marketing cost under the chosen ROI convention. Count each step as itself.
No universal "good ROAS" or "good ROI" number exists to hit — the right target depends on your margins, your model, and your goals.
Attribution: credit is assigned, not proven
Here's the idea that keeps measurement honest: measurement tells you what was observed; attribution decides how credit is assigned; neither automatically proves causation.
Attribution models distribute credit across the touchpoints a system can see. Google Analytics currently offers data-driven attribution (its default), paid and organic last click, and Google paid channels last click. It's worth understanding what these are and aren't. A last-click model is a rule — it hands all the credit to the final touch — not an objective account of what persuaded the customer. Data-driven attribution uses modeled path data rather than a simple last-click rule, but it is still a model built on the data the system can observe. And Google Analytics doesn't see every offline, cross-device, or in-person touchpoint; consent gaps, platform silos, and incomplete identity linkage all limit what any model can work with.
One practical consequence worth internalizing: different platforms can each assign credit to the same customer journey under their own attribution logic, so summing platform-reported conversions can create duplicate credit unless the underlying outcomes are reconciled. For example, if two platforms each attribute the same underlying membership to themselves, adding those two platform counts would count one business outcome twice. This is also why platform-reported conversions shouldn't be treated as independently verified business truth; they're each a model's view, not the ledger.
Observed touchpoints
Only touchpoints the current measurement setup can observe appear here — this is not necessarily the complete customer journey.
Attribution
Different systems may assign different credit to the same observed outcome — no single platform owns the correct answer.
Business outcome
The business outcome can be real even when its marketing cause is uncertain.
Measurement is not the same as attribution, and attribution is not the same as causation.
Attribution vs incrementality
Attribution and incrementality answer different questions. Attribution asks which observed touchpoint gets credit? Incrementality asks what happened because of the marketing that wouldn't have happened otherwise? A campaign can receive attribution credit for a customer who might have converted without the campaign; attribution alone cannot tell you the incremental effect.
How you investigate incrementality depends on your scale. Higher-data or multi-location operators may be able to run geographic holdouts, audience holdouts, platform experiments, or controlled promotional tests — carefully, without expecting easy causal proof. Smaller operators may not have enough volume or control to run useful holdout-style experiments for every question. In those cases, they can improve decision quality with repeated comparable-period analysis, campaign-specific identifiers, and annotated operating context — while treating the result as directional rather than causal proof. And a caution on vocabulary: a year-over-year comparison, a matched-period comparison, or a simple before/after is not an experiment, and a before/after revenue bump is not proof that marketing caused it.
That last point is especially sharp for a car wash, because so many things move revenue that have nothing to do with marketing: weather, seasonality, road salt, snow, pollen, rain, a new site opening nearby, construction or access changes, equipment downtime, price changes, a membership promotion, holidays, local events, a competitor opening or closing, changed hours, staffing or operational changes, and customers migrating between your locations. The simplest useful habit here is to keep a dated annotation log of major operational and context changes, so that when revenue moves you can ask "what else changed?" before crediting or blaming a campaign.
Compare channels without pretending they're identical
Different channels produce different kinds of signal, and measuring them all by one yardstick misleads you. Local SEO and your Google Business Profile generate diagnostics like Search Console impressions and clicks, GBP interactions, and location-page engagement — with visits, transactions, and memberships measurable only where you can connect them. Organic social generates reach, engagement, video consumption, and profile or site clicks; its downstream outcomes may be less directly connectable depending on the operator's tracking setup — which does not make social worthless, since weaker direct attribution does not make a channel worthless. Paid advertising offers impressions, clicks, CPC, and landing-page actions as diagnostics, and configured conversions, offline conversions, modeled store visits where eligible, and tracked transactions or memberships as outcomes. Email and SMS give you delivery, clicks, responses, and opt-outs, with redemptions, memberships, reactivations, and linked revenue as outcomes. The discipline is to judge each channel by the signals and outcomes it can reasonably produce — not to rank them against each other on a metric only some of them generate.
Choose an authoritative system for each metric
When two dashboards disagree, the answer isn't to pick the prettier one. A metric is only useful when you know how it's defined and which system generated it — so choose an authoritative system for each metric rather than treating one dashboard as the source of truth for everything.
| Metric domain | Authoritative system |
|---|---|
| Transactions, wash purchases, member counts, redemptions | POS / membership platform |
| Recognized revenue and costs | Accounting / finance |
| Website and app behavior | GA4 |
| Google Search visibility | Search Console |
| Business Profile interactions | Google Business Profile |
| Ad delivery and platform-attributed outcomes | Google Ads / Meta |
| Lead / customer status | CRM |
| Tracked call events | Call-tracking system |
Transactions, wash purchases, member counts, redemptions
POS / membership platform
Recognized revenue and costs
Accounting / finance
Website and app behavior
GA4
Google Search visibility
Search Console
Business Profile interactions
Google Business Profile
Ad delivery and platform-attributed outcomes
Google Ads / Meta
Lead / customer status
CRM
Tracked call events
Call-tracking system
The nuance that resolves most dashboard fights: GA4 and the ad platforms report attributed outcomes — a model's allocation. Where integration exists, your POS and finance systems are the stronger layer for verifying what actually transacted and what revenue was actually recognized. Attribution tells you how a model or rule assigned credit; the POS or finance layer tells you what transaction or recognized revenue actually occurred.
Measure multiple locations without creating dashboard noise
If you run more than one site, segment by the dimensions that drive decisions — location, campaign, channel, offer, date and time, membership source, and new-versus-existing customer where you can identify it. Two cautions pull against each other: aggregate totals can hide a weak or strong location inside a healthy-looking average, but over-segmenting a tiny sample turns real patterns into noise. Remember too that customers may use more than one of your locations, and that a location-specific problem — downtime, a construction detour — can distort a campaign's apparent performance there. Segment to answer a question, not to fill a dashboard.
A short note on privacy
When connecting customer or member data across systems, use only data you're permitted to collect and process, follow the applicable privacy and consent requirements and platform terms, and avoid collecting more personal information than the measurement job actually needs. More personal data is not automatically better measurement. This is operational guidance, not legal advice.
A measurement self-audit
Walk your own setup through these:
- Have we defined the specific business outcomes that count as success — not just proxy events?
- Can we tell activity, proxy signals, and real outcomes apart in our reporting?
- Do we know exactly what each "conversion" in our platforms is actually measuring?
- Can we connect at least some online activity to offline transactions or memberships?
- Do our POS and finance numbers reconcile with what the platforms attribute?
- Do we understand the limits of our attribution model rather than treating it as truth?
- Are we calculating ROI on a profit basis — and ROAS separately — with clear denominators?
- Have we stated the cost scope in our CPA and CAC so we're not comparing unlike numbers?
- Do we annotate weather, pricing, and operational changes before reading marketing results?
- Have we chosen an authoritative system for each metric instead of trusting one dashboard for everything?
A "no" identifies a measurement gap worth investigating — not proof that the marketing itself is failing.
Key takeaways
- Keep four tiers separate: activity, proxy signals, business outcomes, and economics. Don't let a proxy inherit an outcome's value.
- ROI is not ROAS. ROAS is revenue ÷ spend; ROI is a profit-basis calculation that includes fulfillment and offer cost. Revenue is not profit.
- CPA and CAC aren't interchangeable — state the cost scope, and never compare a media-only CPA to a fully-loaded CAC.
- Attribution assigns credit; it doesn't prove cause — and it isn't the same as incrementality. Platform conversions are model-dependent, not verified truth.
- Connect online to offline where you can, but connection and identification aren't perfect attribution, and modeled store visits aren't transactions.
- Annotate car-wash confounders — weather, seasonality, pricing, operations — before crediting or blaming a campaign, and choose an authoritative system per metric.
