← back to Council 0809 Builds
rolls-ar-deeplink/README.md
44 lines
# DW PDP "How Many Rolls?" AR Deep-Link — Council idea #5 (2026-08-09)
**Status: AUDIT DONE · build STAGED (customer-facing PDP change → Steve-gated)**
Idea: DW products carry width + pattern-repeat metafields. Deep-link those into
the NPH AR measure tool from the product page so a shopper gets "how many rolls
do I need?" answered at the decision moment — the #1 pre-purchase question, and
a moat because competitor PDPs don't carry the metafields.
## First-step audit finding (the idea's own gate: "is the data reliable enough?")
Ran against the local `dw_unified` mirror on 2026-08-09:
- `product_specs` holds **zero** `width`/`repeat` rows — it is NOT the store.
- Width/repeat actually live in **Shopify custom metafields**, which the Mac2
mirror does not carry.
- `pr_width_repeat_migration_log` proves a real migration happened:
**1,548 products** got `new_custom_width` + `new_custom_pattern_repeat`.
**Conclusion:** coverage is *partial and not verifiable from the mirror*. Before
committing a URL format we need a **live Shopify Admin-API metafield pull**
(custom.width, custom.pattern_repeat) to measure true population across the
active catalog. That pull needs the Admin token + is a live read against the
canonical store — staged, not run from this email session.
## Deep-link format (proposed, pending the live coverage number)
```
https://nph.designerwallcoverings.com/measure
?w={custom.width_in}
&vr={custom.vertical_repeat_in}
&hr={custom.horizontal_repeat_in}
&sku={dw_sku}
```
`buildDeepLink()` in `deeplink.js` is written and unit-safe; it only emits a
link when width AND a repeat are present (else the button hides — no broken
"0 rolls" experience).
## Gated next steps (need Steve go)
1. Live Admin-API metafield coverage pull → real population %.
2. If coverage is high enough, inject the button into the PDP theme
(snippet in the DW theme 144396058675) — **customer-facing, gated**.