Product Fact Control Desk
Decide which product truth wins before optimizing the feed.
The dangerous state is not one missing field. It is Shopify, ERP, feeds, ad platforms, collections, and pages each keeping a different version. That becomes ad serving, review, SEO, on-site search, availability promise, and support risk.
Output
Source-of-truth map
Start with
10 high-impact fields
Acceptance
responsible person + QA + change log
Lesson output
Product data source-of-truth map
Acceptance: when a field conflicts, anyone can identify the authoritative system, responsible person, and validation location.
SKU / variant ID
Shopify variant / Merchandising
Price / availability
Shopify or ERP source field / Operations lead
Title / images / attributes
Shopify master field plus registered channel override / Merchandising + SEO
GTIN / brand
Product master data or supplier file / Buying / merchandising lead
Follow one field through its full lifecycle
Source of truth does not mean “Shopify always wins”; each field has one authority while other layers read, override, or report it
The case is a 20oz insulated cup. During a promotion the PDP shows $24.99, Merchant Center item preview still shows $29.99, and a Meta dynamic ad lands on the 32oz variant. First lock the object: US market, Sage color, 20oz variant, the same Shopify variant, and one sync window. Without that scope, the team calls all three symptoms “a broken feed” and edits Shopify, a supplemental source, and the ad platform independently.
Separate visible value from decision authority. The PDP proves what the page displays, not which source Merchant Center should read. The $29.99 item preview proves what the platform currently holds, not that an ads operator may overwrite Shopify. Landing on 32oz proves the identity chain is misaligned, not that price itself is wrong. Every surface is evidence; not every surface is authoritative.
In this case, promotional price authority is the Shopify price and compare-at price, approved against the promotion calendar by merchandising. Availability follows sellable stock by fulfillment location. GTIN follows package, supplier, or GS1 evidence before being written to Shopify barcode. Shopify generates the variant ID, while item_group_id and ad-event content ID must derive from that variant map. One system can be authoritative for some fields without owning every field.
| Field | Authority | Sync direction / reader | Failure consequence | Pass evidence | Failure action |
|---|---|---|---|---|---|
| sale price | Shopify + promo calendar | Shopify → feed source → PDP / Merchant Center / ads | Ad and landing price diverge, risking eligibility or trust | $24.99 + effective window + post-sync preview | Inspect overrides and sync time; do not re-edit the source |
| availability | Sellable inventory by fulfillment location | WMS / Shopify location → regional source → channels | Sellable items stop serving or unavailable items are promised | Location stock, region_id, PDP, and channel agree | Block manual stock inflation; repair regional mapping |
| GTIN | Package / supplier / GS1 evidence | Evidence → Shopify barcode → feed readers | Wrong match, disapproval, or brand-identity confusion | Physical proof, format/check digit, sample item | Leave unresolved and escalate; never invent a barcode |
| variant / item_group / content ID | Shopify variant map + documented transform | Variant → feed item/group → Catalog → Pixel/CAPI | Ads land on the wrong size and events fail to match catalog | 20oz lands on 20oz; event ID equals catalog item | Freeze product-set scaling; repair identity mapping first |
Full repair route for the price conflict
- Save PDP $24.99, Merchant Center $29.99, source list, and latest sync time.
- Check Shopify source fields and promo window so the source has not already reverted.
- Inspect primary, supplemental, regional sources, and rule preview to locate the layer writing $29.99.
- Edit only the conflicting layer; record owner, change ID, expected sync window, and rollback.
- After sync, read item preview, PDP, structured data, and ad landing page; close only when all agree.
The artifact must let another person take over
Do not write “price confirmed.” Write: object 20oz/Sage/US; authority Shopify price; current conflict Merchant Center supplemental source; responsible lead Merch Ops; consumers PDP, Google, Meta; change ID PD-001; sync window 4–24h; four-surface validation; counter-signal regional price or promo-window difference; on failure roll back the supplemental source and pause price-led creative.
Keep the limits too: one passing item does not prove catalog health; automatic updates do not decide authority; page-feed consistency does not prove the stock promise is fulfillable. If the sample fails, stop bulk editing and repair the source-of-truth map first.
The interactions below switch outlet, conflict route, override layer, pressure case, identity field, decision task, and copyable notes. They change the diagnostic exercise, not the rule: prove which layer creates the current value before choosing the repair layer, then read back along the sync direction. A dynamic result card is not acceptance evidence.
Start with one conflict
A Shopify fix does not mean every outlet is fixed.
Use one 20oz insulated cup first: the page, Merchant Center, and Meta Catalog may not be reading the same price, availability, or product identity. Source of truth is not an architecture phrase here. It decides which system can make the final call and which system is only evidence.
Shopify product page
Evidence firstThe 20oz insulated cup sale price is 24.99 and the page shows it.
What it proves: It proves the current buyer-facing price.
Check first: Still check Shopify source fields, sale window, and the page component source.
Merchant Center item preview
Evidence firstThe same item still shows 29.99, or availability has not updated.
What it proves: It proves the value the ad platform is reading.
Check first: Check primary source, supplemental source, regional inventory source, and rules before bulk-editing Shopify.
Meta Catalog / product set
Evidence firstCatalog item, item_group_id, or content ID points to another size.
What it proves: It proves whether dynamic ads and event matching read the same product.
Check first: Use one test order to compare view_item, add_to_cart, purchase, and catalog item.
What
Map the product fact chain first
This lesson is not about one field. It checks whether the same product remains the same fact across Shopify, Merchant Center, Meta Catalog, pages, collections, and ad events.
Why
Field drift breaks growth judgment
When price, availability, title, GTIN, product set, and event ID stop sharing one source, reviews, dynamic ads, SEO, support promises, and monthly review each explain a different version.
How
Use each decision to prove the source
With each override, conflict, or pressure decision, write one result back into the notes: which layer produced the value, who can change it, and where QA happens.
00 Product fact chain
This is not a field table lesson. It is the entry point to the product-data track.
The same product is read by pages, feeds, catalogs, SEO, on-site search, ad product groups, promotions, and monthly reviews. This lesson maps that chain so the next seven lessons have a stable base.
Shopify source field
Title, price, availability, variants, image, brand, GTIN, taxonomy, and promise fields.
If source fields drift, feeds, catalogs, pages, and reports inherit the same error.
Decide which version wins.
Product page facts
Buyer-facing price, availability, image, specs, shipping, and return promises.
Page-to-platform mismatch creates review, support, and payment-trust risk.
Use the page as a QA point.
Feed / Merchant Center
Synced attributes, identifiers, price, availability, and policy fields.
Clearing a feed warning does not prove source fields are governed.
Record source and sync window.
Meta Catalog / product sets
Catalog item, item_group_id, image, product set rules, and event content ID.
Bad mapping can send dynamic ads to the wrong product or variant.
Treat catalog as downstream QA.
SEO / search / collections
Title, handle, tags, collections, sort fields, and structured data.
One team optimizing a field can make another channel harder to explain.
Separate suggester from accountable lead.
Promo / monthly review
Sale price, inventory coverage, product sets, collections, ad groups, and change logs.
Without change evidence, promotion and review work keeps guessing.
Turn field governance into next-month actions.
Which conflict are you seeing?
First check
Price / availability conflict
Term notes
Define the terms before using them.
Feed
A feed is the product-data table platforms read. It sends title, price, inventory, image, SKU, GTIN, and other fields to Merchant Center, Meta Catalog, or other channels.
If PDP price changes but the feed has not synced, the ad platform may still see the old price.
SKU / variant ID
SKU is the store's identifier for a product or variant; variant ID is the system identifier Shopify or another platform assigns to each color, size, or capacity version.
A cup with 20oz and 32oz sizes should let you track inventory, price, orders, and ad performance separately.
GTIN
GTIN is the general name for barcode identifiers such as UPC or EAN. It helps platforms identify the real product, unlike an internal store code.
For a branded cup with a barcode, GTIN helps matching; for a new private-label product, brand, SKU, image, and page facts need to be clear.
Structured data
Structured data is machine-readable product information on the page. Search engines can read price, availability, review, brand, and product identifier fields, so it should not conflict with page promises, feed values, or source fields.
If the page shows in stock but structured data says out of stock, search results and review signals can diverge from what shoppers see.
Product set
A product set is a rule-based group of products inside Meta Catalog or an ad system. It usually reads catalog items, item_group_id, labels, price, availability, and event content ID.
If 20oz and 32oz variant IDs do not line up, a product set can send ad traffic to the wrong size.
sale_price
sale_price is the sale-price field read by platforms, often in Merchant Center, feeds, or product data sources. It needs to match PDP sale price, ad creative, and email promises.
If the Shopify PDP says 24.99 but Merchant Center still reads 29.99, check sale_price, supplemental source, and sync timing.
sale_price_effective_date
sale_price_effective_date is the active window for a sale price. It decides when platforms show the sale price; if it is wrong, a promo can start early, end late, or remain visible after the campaign.
If price does not roll back after a promo, check the effective-date field and supplemental-source rollback date before blaming ad copy.
Pixel / CAPI
Pixel is browser-side event tracking, and CAPI is server-side event tracking. They send content ID, price, quantity, purchase, and other signals to ad platforms for dynamic ad matching and conversion judgment.
If the catalog item is A but Pixel / CAPI sends content ID B, the ad platform may attribute the purchase to the wrong product.
Source of truth
Source of truth is the trusted place when product facts conflict. It does not mean manually editing every destination; it means deciding where each field is read from.
Price may be governed by Shopify or ERP; feeds, ad accounts, and structured data should consume it or document an override.
Channel override
A channel override is a channel-specific field version. It can exist, but needs reason, maintainer, and review date or it becomes a third version of the truth.
A Google Shopping title can add color and capacity, but cannot contradict the product page.
Primary source
A primary source is the main data source Merchant Center reads. For beginners, think of it as the main product ledger in Merchant Center: it can add or remove products.
If Shopify sync is the primary source, do not secretly add the same product from another sheet.
Supplemental source
A supplemental source adds or overrides fields for existing products. It cannot add products by itself and should not permanently replace source-field governance.
If the primary source lacks custom label, a supplemental source can fill it, but responsible person and writeback timing need to be documented.
Regional inventory source
A regional inventory source is a regional price/availability override layer for cases where different regions have different price, sale price, effective date, or availability. It is not a new product source.
If East and West US inventory differs, availability can be overridden by region_id, but landing page and shipping promise must match.
RACI
A split of responsible, accountable, consulted, and informed roles.
SEO can suggest title changes, but the accountable lead carries ad, search, and support impact.
01 Data source override stack
Not every Merchant Center value comes directly from Shopify. Check the override stack first.
A common beginner mistake is changing Shopify when Merchant Center price or availability looks wrong. The actual value may be overwritten later by a primary source, supplemental source, regional inventory source, or Merchant Center rules. Check the layer before editing.
Override decision
Shopify source fields
02 Override decision practice
Choose the layer before assigning the fix.
This turns the override stack into a decision. Pick a live pressure scenario, then choose the layer you would handle first. The feedback shows why some fast-looking fixes create the next drift.
Step 1: choose a scenario
Step 2: choose the layer
20oz insulated-cup sale price reverted
03 Field conflict ticket
Turn "field mismatch" into an executable ticket.
Many teams see a field mismatch but still write "feed issue." A useful ticket states symptom, likely root, first evidence, route action, blocked move, and the field-table line to update.
Ticket format
Sale price differs from page price
04 Operating frame
Terms only matter when they become fields, responsible people, and evidence.
Source of truth is not architecture language here. It answers one operating question: when product facts conflict, which version wins.
Source of truth
The system, file, or accountable lead that has final authority for a product field.
Feed QA
Pre-launch check for field, platform rule, channel state, and page consistency.
RACI
Defines who changes, decides, is consulted, and is informed.
05 Main asset
Govern high-impact fields first instead of the whole catalog.
Price, availability, title, image, attributes, taxonomy, identifiers, and promises affect ads, SEO, on-site search, collections, and support. Stabilize these first.
SKU / variant ID
Shopify variant
Merchandising
Event matching, returns analysis, ad product groups, dynamic ads
Shopify, GA4, catalog item
Price / availability
Shopify or ERP source field
Operations lead
Ad eligibility, collection pages, support promises, promotion fields
Product page, Merchant Center, Meta Catalog
Title / images / attributes
Shopify master field plus registered channel override
Merchandising + SEO
Shopping listings, SEO, on-site search, structured data
PDP, feed preview, structured-data test
GTIN / brand
Product master data or supplier file
Buying / merchandising lead
Merchant Center recognition, cross-platform matching, variant grouping
Merchant Center 诊断 and product master data
Fulfillment / policy fields
Policy pages and shipping rules
Operations / support
Payment review, support scripts, page promises, campaign pages
Policy page, PDP, support macros
06 Product Identity Map
SKU, GTIN, Variant ID, item_group_id, and content ID are not the same thing.
Many feed issues are not missing fields. They happen because the team treats several product identity fields as one idea. Choose a field, see where it appears, who reads it, what breaks, and copy the validation action into the lesson notes.
Choose an identity field
Click the field you are debugging. The detail panel shows its source, consuming systems, and first validation step.
Current identity field
SKU
SKU is the store-owned internal code for a product or variant. It is not a platform identity proof; it keeps merchandising, inventory, orders, support, and finance talking about the same item.
Copy into notes: Identity map: SKU follows Shopify/ERP; sample variants, orders, GA4, and ad product groups first.
06A Field source record
Turn five field flows into a savable Product Identity Map instead of saying “Shopify always wins”
This field record keeps price, availability, GTIN, Variant ID, and item_group_id separate with authority, current visible layer, market scope, responsible role, rollback line, and validation conditions. It organizes evidence only; it does not connect to Shopify, ERP, a feed app, Merchant Center, Meta, or real product data.
Write field facts before preparing a responsible readback. This record does not upload a feed, change a product field or rule, switch a market, or access an account.
Current field record
Price / sale price
PDP, Merchant Center, Meta Catalog, ad creative, and email promises.
Scope boundary: Read price back by target market and currency; a regional or supplemental value is not the default price for every market.
Complete this field’s checks
Field conflict prompts
It checks only field, override, scope, responsibility, and rollback gaps in this field record. It does not read a live admin, feed, product, or customer data.
Choose a wrong shortcut
Why this is risky
Risky. Shopify can be authoritative for price or variants, but GTIN, sellable inventory, and downstream overrides need different proof. Confirm the field and current layer first.
Safer next step
Name authority for the current field, then read whether a feed app, primary source, supplemental source, regional inventory, or rule changes it.
Field map conclusion
Complete authority, current layer, scope, responsibility, and rollback conditions for all five flows before preparing responsible readback.
0/5 field flows are complete.
07 Data destinations
Do not edit first. Map where the field flows.
Each destination answers four questions: which field it reads, who can edit it, how it syncs, and which channel breaks.
Shopify admin
08 Responsible / RACI
Responsible person cannot be a department label. It needs execution authority.
For an example pet-products store, the travel bottle title may belong to merchandising, GTIN to buying, collection ordering to site ops, and Merchant Center errors to ads ops.
Responsible
The person who actually changes the field.
Merchandising edits the travel bottle title.
Accountable
The person accountable for the result and conflict decision.
Operations lead decides the price authority.
Consulted
The person who must be consulted before change.
SEO reviews title and structured-data impact.
Informed
The person who must be informed after change.
Support receives availability and promise changes.
09 Channel override
Channel overrides are allowed only when they are registered.
A Google Shopping title may need clearer color, capacity, and material, while the Shopify title reads better for shoppers. The issue is not the override. The issue is undocumented reason, consumer, and review timing.
Stop
Editing a feed-app title to clear a warning without updating source-field rules.
Review
Write why the master field is not changed, which channel consumes the override, who maintains it, and when it is reviewed.
Go
The override has a business reason, QA location, expiry review date, and does not contradict page facts.
10 Example pet-products store walkthrough
An example pet-products store should not bulk-edit in week one. Sample by catalog size first.
The execution cadence becomes a four-step walkthrough: sample, before change, during change, and after sync. Each step leaves evidence so the team can review which layer changed the field.
Sample
This lesson uses 12 SKUs as the walkthrough sample: high sellers, new items, and recently flagged products. In real work, review every SKU in a tiny catalog; sample by sales, newness, channel flags, promotion, and market in a mid-size catalog; and start large catalogs with high-revenue, recently changed, flagged, complex-variant, and market-edge SKUs.
Record Shopify, PDP, Merchant Center, Meta Catalog, collection page, and structured data.
Before change
Ask which rules, reports, and automations consume this field.
Dependencies, responsible person, affected channels.
During change
Solve one issue type per change; do not mix title, taxonomy, inventory, and promotion in one submit.
Change ID, reason, source field.
After sync
Wait for the full sync cycle; submit screenshots do not prove channel ingestion.
Source screenshot, channel preview, state change, business observation.
12 Source-of-Truth pressure-check practice
The dangerous moment is not the wrong field. It is the room rushing to edit one place first.
Real teams do not forget consistency. They confuse the fastest move with the right move when ads are spending, promos are scheduled, SEO asks for title changes, or bulk tools look convenient. Use the four pressure scenarios below to find evidence before choosing the change entry point.
In a field incident meeting, ask which layer produced the wrong visible value before asking who can edit fastest. If the source cannot be proven, do not bulk-edit.
The value of product data governance is making ads, SEO, collections, support, and promo work from the same fact chain. Otherwise every team fixes its own version, and no one can explain the real product.
Current pressure scenario
Merchant Center turns red, and the room wants a Shopify edit
13 Quick Check
Decide whether bulk edits are allowed.
An example pet-products store finds Shopify title, Merchant Center title, and collection-page title disagree. The ads team wants to bulk-edit 200 SKUs in the feed app. What should happen first?
14 Stop / Go
Do not bulk-edit unclear fields.
This is the change go/no-go check before bulk edits: unclear fields go back to the source-of-truth map.
Field has source of truth, responsible person, and QA location
Go, move into change workflow
Field row, responsible person, validation page, sync window
The authoritative system is unclear
Hold, complete the source-of-truth map first
Conflicting system screenshots and final decision lead
The named responsible person cannot change the field
Hold, assign a real responsible person
Executor and accountable approver
Channel override is undocumented
Review, add reason and recheck rule
Override reason, consuming channel, review date
The edit affects ads, SEO, collections, or support promises
Require a change log and post-sync validation
Change ID, channel preview, review screenshot
15 Copyable lesson notes
Turn this lesson into product data source-of-truth copyable lesson notes.
Do not copy out "field confirmed." Copy field, system, responsible person, downstream impact, conflict rule, QA, counter-signal, and the current pressure scenario.
Product data source-of-truth map
Lesson conclusion
When fields conflict, prove which layer produces the current value before changing Shopify, primary source, supplemental source, regional inventory source, or Merchant Center rules.
First evidence
Source field, PDP, channel preview, data-source list, rule preview, sync window, responsible person, and review date.
Blocked move
Do not bulk-edit before the source-of-truth map is clear; do not scale ads or send promo email before cross-channel QA.
Next lesson bridge
Move to title, attribute, and taxonomy design only after field responsibility is clear; otherwise the next lesson becomes channel-by-channel field conflict.
Review again next month
Check which fields became stable assets and which still force ads, SEO, collections, and support to explain around drift.