معماری چندکسب‌وکاری، تجاری و تجارت الکترونیک · فصل ۶ — Evidence، Vetting، Inventory، Rights و Attribution · 267

Campaign Attribution and Measurement Labels

Build an attribution/measurement registry that versions campaign/source/medium/creative labels, conversion definition, attribution model, lookback or reporting scope, data origin and known limitations; a metric is never interpreted without its measurement label and version. می‌تواند «Campaign Attribution و Measurement Labels» را برای یک workflow محدود با state/contract/approval و verification مناسب طراحی کند.

Campaign Attribution و Measurement Labels — fa-IR

Lesson summary

Build an attribution/measurement registry that versions campaign/source/medium/creative labels, conversion definition, attribution model, lookback or reporting scope, data origin and known limitations; a metric is never interpreted without its measurement label and version.

می‌تواند «Campaign Attribution و Measurement Labels» را برای یک workflow محدود با state/contract/approval و verification مناسب طراحی کند.

This lesson produces

می‌تواند «Campaign Attribution و Measurement Labels» را برای یک workflow محدود با state/contract/approval و verification مناسب طراحی کند.

Who it is for

Foundation

Use a field map, one worked scenario and explicit state vocabulary before independent construction.

Repair

Identify the failed evidence dimension, use the smallest mutated fixture and rerun only the affected gate.

Experienced

Compress definitions; require trade-off defense, counterexample analysis and changed-context transfer.

Prerequisites

When “+35% improvement” is still not a comparable result

A campaign report claims that month two improved conversion rate by 35%. Month one used manually tagged utm_source and utm_medium links and defined conversion as a raw form submission. Month two uses a mix of auto-tagging, a qualified-lead conversion definition, and a changed reporting attribution setting. The column is still named conversion rate, but it is no longer the same measurement.

This lesson produces Campaign Attribution Measurement Label Registry v1. Every metric travels with campaign identity, tagging method, event/conversion definition, attribution model/scope/window, data origin, metric-definition version, limitations, and evidence. The goal is not causal inference or media-mix optimization; it is auditable semantic comparability.

COM-026 ownership boundary

COM-026 owns measurement semantics and comparability. COM-025 owns ad rights/disclosure/brand-safety evidence, while COM-027 owns Shopify integration. This lesson does not build a live ad-platform automation, prove incrementality, or mutate analytics accounts.

The hard prerequisite is carried forward only as bounded evidence. The output is a registry that refuses to interpret a metric whose label/version is not reconstructable.

Mental model: the number is the end of the chain

Use this order:

campaign identity → traffic labels → tagging method → event/conversion definition → attribution model/scope/window → data origin → metric definition → limitations/evidence → comparability gate → interpretation

A shared campaign name or metric name cannot hide a semantic change. COMPARABLE means the decisive dimensions are semantically aligned. PARTIAL_COMPARABLE means a bounded subset—such as a within-label trend—is valid while broader comparison is not. Missing decisive evidence remains HOLD/UNKNOWN.

Separate FACT, INFERENCE, and DESIGN

FACT: Google Analytics traffic-source dimensions include source, medium, campaign, campaign ID, source platform, and default channel grouping, and traffic-source data can originate from manual tagging or ad-platform auto-tagging.

FACT: Manual tagging includes common UTM parameters such as utm_source, utm_medium, utm_campaign, utm_term, and utm_content. UTM values label traffic; they do not establish causality or incrementality.

FACT: GA4 attribution settings include reporting attribution model, channels eligible for credit, and key-event lookback window. Changing the reporting attribution model can affect historical and future event-scoped reporting, while user- and session-scoped traffic dimensions behave differently.

INFERENCE: If attribution and conversion semantics do not travel with a metric, two dashboard snapshots can share the same label while measuring different things.

DESIGN: MAKNOW requires a new measurement label/version or a typed HOLD when decisive measurement semantics drift.

The 23-dimension measurement contract

MeasurementCampaignVersionTaggingConversionAttributionData SourceMetricDefinitionLimitationsComparability
m-baselinecmp-42v3AUTO_TAGGEDqualified_lead@v2DATA_DRIVEN / PAID_AND_ORGANIC / 30dGA4_REPORTconversion_rate=0.083cr@v4cross-device/modeling notedCOMPARABLE
m-conv-driftcmp-42v3AUTO_TAGGEDraw_submit@v1DATA_DRIVEN / PAID_AND_ORGANIC / 30dGA4_REPORTconversion_rate=0.112cr@v4cross-device/modeling notedHOLD_CONVERSION_DEFINITION
m-tag-unknowncmp-42v3UNKNOWNqualified_lead@v2DATA_DRIVEN / PAID_AND_ORGANIC / 30dGA4_REPORTconversion_rate=0.079cr@v4mixed manual/auto collection suspectedHOLD_TAGGING_METHOD
m-transfercmp-newv1MANUAL_UTM+OFFLINE_IMPORTqualified_lead@v2LAST_CLICK / CHANNEL_LOCAL / 30dCRM_OFFLINE_IMPORTqualified_leads=47ql@v2offline match coverage 82%; cross-channel attribution not equivalentPARTIAL_COMPARABLE

Gate 1 — separate measurement identity from campaign identity

measurement_id identifies the evidence bundle. campaign_id identifies the initiative, while campaign_version captures material definition or execution changes. A stable display name is not sufficient identity.

Gate 2 — source and medium are labels, not causal truth

source and medium describe how traffic is classified. They are required for audit but cannot by themselves prove that a touchpoint caused the outcome.

Gate 3 — make tagging method explicit

tagging_method distinguishes MANUAL_UTM, AUTO_TAGGED, MIXED, OFFLINE_IMPORT, or a governed combination. If two periods use different collection methods and that difference is unrecorded, return HOLD_TAGGING_METHOD.

Gate 4 — event name is not the conversion definition

event_name=generate_lead does not tell a reviewer whether conversion means raw submit, deduplicated lead, qualified lead, or confirmed purchase. Changing conversion_definition without a new label/version breaks the series.

Gate 5 — record model and attribution scope separately

attribution_model can be data-driven or last-click, but attribution_scope must also state the eligible channel/reporting universe. A shared model name with different scope is not equivalent measurement semantics.

Gate 6 — reporting window is part of meaning

A 30-day and a 90-day lookback/reporting window can credit different touchpoints. A shared metric name cannot erase that difference.

Gate 7 — distinguish data source from traffic source

data_source says where the metric came from: GA report, ad platform, CRM table, offline conversion import, or an internal join. source=google is not the same thing as data_source=GA4_EXPORT.

Gate 8 — version the metric definition

metric_name=ROAS or conversion_rate is insufficient. Numerator, denominator, currency/time basis, deduplication, and inclusion/exclusion rules must be reconstructable from metric_definition_version.

Gate 9 — known limitations are mandatory evidence

Cross-device gaps, unknown offline match coverage, consent gaps, modeled data, late-arriving conversions, or timezone mismatches belong in known_limitations. Removing them does not strengthen evidence; it hides uncertainty.

Gate 10 — comparability is derived, not declared

comparability_state is computed from the label dimensions. A shared metric name cannot issue COMPARABLE when conversion definition or attribution scope has changed.

Gate 11 — offline import needs lineage

The transfer case adds a new channel with offline conversions. Matching boundary, import origin, lag/deduplication semantics, and coverage limitations must be recorded. Otherwise cross-channel comparison becomes HOLD_DATA_ORIGIN or PARTIAL_COMPARABLE.

Gate 12 — evidence_ref must reconstruct the measurement

Each row should trace to campaign configuration, tagging specification, conversion definition, attribution settings snapshot, and the relevant data extract/fixture. A screenshot without version/context is insufficient.

Worked examples

1. Semantically aligned baseline → COMPARABLE

Two periods use the same campaign version, tagging method, conversion definition, attribution model/scope/window, data source, metric-definition version, limitations, and evidence lineage. Trend comparison is valid.

2. Conversion changed under the same metric label → HOLD_CONVERSION_DEFINITION

Month one measures raw submits; month two measures qualified leads. The display label is unchanged, but the measurement is not.

3. Manual and auto-tagging are mixed without method evidence → HOLD_TAGGING_METHOD

Source/medium values exist, but collection provenance is unknown.

4. Attribution scope changed → HOLD_ATTRIBUTION_SCOPE

Both reports say data-driven, but the eligible-channel/report scope changed. A shared model name is insufficient.

5. A limitation disappears from the evidence bundle → HOLD_LIMITATIONS

Offline matching covers only part of CRM records, but the coverage limitation was dropped from the row.

6. Transfer to a new channel → PARTIAL_COMPARABLE

The new channel uses different tagging plus offline conversion import. Within-label trends can remain valid, while cross-channel comparison is limited to dimensions that are demonstrably equivalent.

Common failure modes

  • comparing dashboards because the metric name matches;
  • treating UTM tags as causal proof;
  • confusing traffic source with metric data_source;
  • changing conversion definition without a measurement-label bump;
  • recording attribution model but omitting scope/window;
  • mixing manual and auto-tagging without provenance;
  • using campaign display name as stable identity;
  • removing limitations to make reporting look cleaner;
  • comparing offline-import and online-only channels without matching/coverage boundaries;
  • reusing the baseline verdict after attribution-setting changes;
  • interpreting a metric with missing evidence or definition version.

Alternatives and trade-offs

Dashboard-only interpretation: fast, but semantics and change history stay implicit.

UTM taxonomy only: improves campaign labeling, but does not govern conversion, attribution, metric-definition, or offline-import drift.

Measurement Label Registry: adds governance overhead, but binds every metric to versioned semantics and blocks invalid comparison early.

One global cross-channel label: simpler but hides tracking/import differences. Channel-aware labels plus a comparability gate are more explicit and auditable.

Experienced-review bridge: 17 questions

  1. What is the measurement_id?
  2. What are the exact campaign ID and version?
  3. How were source and medium collected?
  4. What is the tagging method?
  5. Which campaign/content/term/creative taxonomy version applies?
  6. What is the landing reference?
  7. What event is observed?
  8. What exactly counts as a conversion?
  9. Which reporting attribution model applies?
  10. What is the attribution scope or eligible channel universe?
  11. What reporting/lookback window applies?
  12. What is the metric data source?
  13. How does the metric-definition version define numerator/denominator?
  14. Which known limitations remain active?
  15. What does the evidence reference reconstruct?
  16. Are the critical dimensions genuinely equivalent across rows?
  17. What must be recomputed when channel, tagging, or offline import changes?

Guided and independent practice

The offline lab contains eight fixtures: comparable baseline, conversion drift, missing tagging method, attribution-scope drift, removed limitation, missing evidence, incomplete new-channel/offline-import lineage, and a correctly versioned transfer with bounded comparability.

Independent task: add a new channel with different tagging and offline conversion import. Create its new measurement label and decide whether within-label, baseline, and cross-channel aggregates are COMPARABLE, PARTIAL_COMPARABLE, or HOLD.

Acceptable evidence

The artifact fills all 23 dimensions or emits an explicit non-success state. A metric cannot be promoted without campaign/version, tagging, conversion, attribution, data origin, metric-definition, limitations, and evidence lineage. Comparability is a deterministic diff over critical semantics, not a reader impression.

The lab is synthetic and offline; it requires no production account, credential, or customer data.

Assessment and transfer

To complete the lesson, you must be able to:

  1. state the COM-026 boundary against COM-025 and COM-027;
  2. build Campaign Attribution Measurement Label Registry v1;
  3. separate traffic labels from causal claims;
  4. version conversion, attribution, and metric semantics;
  5. convert semantic drift into a new label/version or typed HOLD;
  6. preserve limitations and evidence lineage;
  7. rebuild the new-channel/offline-import transfer instead of copying the baseline verdict.

References and freshness

  • Google Analytics Traffic-source dimensions — rechecked 2026-09-15; supports source/medium/campaign/campaign-ID/source-platform/channel-grouping semantics.
  • Google Analytics Traffic-source dimensions, manual tagging, and auto-tagging — rechecked 2026-09-15; supports manual UTM and auto-tagging behavior.
  • Google Analytics Select attribution settings and Change the reporting attribution model for key events — rechecked 2026-09-15; supports reporting attribution model, eligible channels, lookback window, and the effect of reporting-model changes on event-scoped historical/future reports.
  • Measurement-label versioning, comparability states, and fail-closed promotion are MAKNOW DESIGN, not Google Analytics requirements.

Assessment

There is no answer key in this lesson pack; answer it yourself and mark honestly. "Needs review" sends the lesson to your review queue.

COM-026-S1 retrieval

State COM-026 ownership and one adjacent non-goal.

lesson ✗AI ✗notes ✗

COM-026-S2 application

Build the measurement-label registry for baseline evidence.

lesson ✗AI ✗notes ✗

COM-026-S3 diagnosis

Change conversion definition but keep the same metric label; identify the blocking state.

lesson ✗AI ✗notes ✗

COM-026-S4 transfer

Add a differently tagged channel with offline conversion import and recompute valid comparisons.

lesson ✗AI ✗notes ✗
Assessment rubric

Critical: identity/contract, exact evidence binding, negative evidence, bounded comparability decision, and changed-context transfer. Any unsupported success state is blocking.

References & freshness

Google Analytics — Traffic-source dimensions
·
Google Analytics — Traffic-source dimensions, manual tagging, and auto-tagging
·
Google Analytics — Select attribution settings
·
Google Analytics — Change the reporting attribution model for key events
·
COM-026 Frozen Lesson Bible
·

Case studies

Lab files

python run_checks.py را اجرا کنید. همه fixtureها ساختگی‌اند و هیچ analytics account، credential تبلیغاتی یا داده مشتری لازم نیست.