Keep two teams from using the same metric name differently by giving each field one shared, versioned definition before reporting starts. Your influencer campaign data dictionary should specify the source, calculation, unit, reporting window, missing-value rule and person who can approve changes. Both teams should calculate a small test dataset from that definition and get the same result.
Start after you have chosen campaign metrics for the decision you need to make. The dictionary records what those fields mean. It does not decide which goals matter.
Give the field a definition that survives a handoff
A column called "sales" leaves too much open. One team might count purchases carrying a creator coupon. Another might use a platform's attributed conversions. Even matching totals would not establish that the teams counted the same transactions.
USGS guidance on data dictionaries includes field definitions, data types, nullability, missing-data codes and validation rules. It also recommends updating the dictionary when the data structure changes. Those principles apply to a campaign spreadsheet as well as a database.
For each entry, record:
- Source: The system, account or property, export or query, and original field name.
- Meaning and formula: What one row represents, which records qualify, how duplicates are removed, and the calculation.
- Unit and window: Count, minutes, currency or percentage; dates, timezone and any attribution lookback.
- Missing rule: Whether the field is required, when it can be unavailable, and whether dependent calculations must stop.
- Owner and history: The accountable person, definition version, effective date, reason for change and affected reports.
These are recommended working rules. They are separate from platform requirements.
A twelve-field starter dictionary
The example below covers a hypothetical YouTube creator campaign with coupon-based purchase reporting. It contains twelve fields across a content register, video metrics and a campaign summary. Keep those tables separate so that joining multiple videos cannot multiply campaign spending or purchases.
The example uses these shared definitions:
- Y window: September 1 through September 7, 2026, using YouTube's Pacific-time reporting days. Its dimensions documentation defines those day boundaries.
- C window: Purchase timestamps from September 1, 2026, at 00:00 UTC up to, but excluding, September 8 at 00:00 UTC. This is a team-chosen purchase window. It differs from Y and must remain labelled.
- R1: Initial definition, effective September 1, 2026. Each owner approves their entries before use. In a working copy, replace role owners with named people.
"Stop" means the affected calculation cannot receive a final value until the defect is resolved. "Null" means unavailable, with a recorded reason. A returned numeric zero remains zero.
| Field | Source and rule | Unit; window | Missing rule | Owner | Change history |
|---|---|---|---|---|---|
campaign_id | Campaign register; stable key, copied without calculation | Text; campaign lifetime | Stop if absent | Campaign lead | R1: key assigned |
creator_id | Creator register; internal key linking creator and channel | Text; campaign lifetime | Stop if absent | Creator manager | R1: mapping fixed |
video_id | Content register; YouTube video identifier, one row per campaign video | Text; publication onward | Stop if absent | Creator manager | R1: video key |
yt_likes | YouTube Analytics likes; positive ratings for the listed video | Count; Y | Null if unavailable | Social analyst | R1: native field |
yt_comments | YouTube Analytics comments; commenting actions for the listed video | Count; Y | Null if unavailable | Social analyst | R1: native field |
yt_shares | YouTube Analytics shares; shares through its Share button | Count; Y | Null if unavailable | Social analyst | R1: scope fixed |
yt_watch_minutes | YouTube Analytics estimatedMinutesWatched; viewing time for the listed video | Minutes; Y | Null if unavailable | Social analyst | R1: minutes retained |
coupon_orders | Recorded GA4 purchase data; distinct qualifying transaction IDs under the rule below | Transactions; C | Stop for invalid qualifying IDs | Web analyst | R1: coupon-only rule |
coupon_purchase_value | Same qualifying transactions; sum each transaction's value once | USD; C | Stop for missing value or currency | Web analyst | R1: before refunds |
campaign_cost | Approved cost ledger; creator fees, agency fees, product cost and shipping assigned to this campaign | USD; whole campaign | Stop for incomplete ledger | Finance owner | R1: cost categories |
cost_per_coupon_order | campaign_cost divided by coupon_orders | USD per transaction; C denominator | Null if denominator is zero or either input unavailable | Measurement lead | R1: formula fixed |
definition_version | Dictionary release register; version used to prepare each dataset | Text; report release | Stop if absent | Measurement lead | R1: release marker |
The four YouTube metric meanings follow its official metrics reference. They remain YouTube-specific. A field from another platform needs its own entry before anyone combines it with these numbers.
For this coupon rule, a transaction qualifies when its event-level coupon matches a code assigned only to this campaign and its purchase timestamp falls in C. Count it once by transaction_id. Identical duplicate records collapse to one; conflicting duplicates stop the calculation for review. Item-level coupons do not qualify under R1. Purchases without a qualifying code stay outside this measure. There is no click or view lookback.
Google's purchase event specification treats event-level and item-level coupons independently. It defines purchase value as item price multiplied by quantity, summed across items, excluding shipping and tax. Currency accompanies the value. R1 accepts USD transactions only and makes no refund deduction. Other currencies require a separately approved conversion rule.
This is a custom grouping of recorded purchases. It makes no claim about purchases caused by a creator or about all campaign sales. It also assumes the team has configured purchase collection and can access transaction-level records. Google lists these as events that require configuration.
Test the definition with transactions both teams can see
Give both teams the same hypothetical records before they build reports. All rows below fall inside C, use USD, and carry a qualifying event-level campaign coupon.
| Record | Transaction ID | Item value | Shipping | Tax |
|---|---|---|---|---|
| A | T01 | 80 | 5 | 8 |
| B | T01 | 80 | 5 | 8 |
| C | T02 | 120 | 0 | 12 |
Under R1, A and B describe one transaction. Therefore:
coupon_orders= 2 distinct transaction IDs.coupon_purchase_value= 80 + 120 = USD 200.- With hypothetical
campaign_costof USD 500,cost_per_coupon_order= 500 / 2 = USD 250.
A result of three orders shows that duplicate removal differs. A value of USD 225 includes shipping and tax. Neither result matches R1. Resolve the definition or implementation before comparing team performance.
Separate unavailable data from a changed definition
Access and timing belong in the dictionary too. The YouTube query reference requires authorized requests. It also says responses stop at the latest day available for all requested metrics. A requested end date does not prove that the response covers it.
Save the query or export reference, extraction time, requested dates and actual coverage with each report. A failed request or absent value must not become an observed zero. For report labels and how to present incomplete coverage, use the guide to reporting missing campaign data.
Change definitions through one owner
Modash's reporting guide warns that changing engagement denominators or attribution models breaks comparisons. A dictionary needs an approval process to prevent that drift.
Use this process whenever a proposed change affects meaning:
- The requester names the field, old rule, proposed rule and reason.
- The owner lists affected formulas, datasets and reports.
- Both teams calculate the test records under the proposed rule.
- The owner records the approval and effective date in the change-history column.
- The report author either recalculates earlier periods under the new rule or marks the comparison as using different definitions.
Correcting a typo can retain the definition version. Changing the coupon scope, cost categories, timezone or refund treatment needs a new version. Preserve the earlier definition with reports that used it.
Before the first report, ask one person from each team to calculate the hypothetical transaction table independently. If they disagree, revise the relevant dictionary entry until they can explain and reproduce the same answer.



