data-app Implementation Report

Verified live in an authenticated browser session, 2026-08-18. Every step listed below was reached by actually completing a real order — filling real form data, clicking real hooks, submitting — never by guessing URLs directly.
1. fea8ba3b — 1-Step Funnel 2. f6b89eda — LUXE (Timeless Essentials) 3. 32fdf101 — 2-Step Funnel Summary verdict

1. fea8ba3b — 1-Step Funnel FULLY VALID

Full flow reached and verified: Landing → Checkout → Upsell 1 → Thank You
Pagedata-app hooks found (element count)data-attr-appLive verification performed
/landing buy×5 20 Clicked [data-app="buy"] → correctly navigated to /checkout (fallback default target, no explicit href set)
/checkout field:email, field:phone, field:first-name, field:last-name, field:country, field:address, field:city, field:state, field:zip, field:billing-same, field:billing-first-name, field:billing-last-name, field:billing-country, field:billing-address, field:billing-city, field:billing-state, field:billing-zip, field:card-type, field:card-number, field:exp-month, field:exp-year, field:cvv (23 fields, full role set) · payment×3 · select×2 (cross-sell) · billing-fields · extended-subscription · express-pay · coupon · coupon-apply · coupon-message · submit
Total: 34 elements
16 Filled real name/email/address/state via field:* selectors. Clicked [data-app="payment"][method="creditcard"]data-app-selected appeared correctly. Filled card, clicked [data-app="submit"] → order genuinely placed (POST succeeded)
/upsell1 accept · next · coupon-message 4 Clicked [data-app="accept"] → upsell order accepted, funnel advanced
/thank-you cart-clear-on-order (correctly thank-you-only) 14 data-attr-app="order-id" → real value B9AFE6F2CE, 9641D1F7B0 (main + upsell); data-attr-app="total"4.31
No gaps found. Every documented hook family present and functioning: navigation (buy), full 23-role field:* mapping, payment selection state, cross-sell, coupon, upsell accept/decline, thank-you value sinks.

2. f6b89eda — LUXE (Timeless Essentials) FULLY VALID

Full flow reached and verified: Landing → Product Details → Cart → Checkout → Upsell 1 → Thank You
Pagedata-app hooks founddata-attr-appLive verification performed
/landing open×5 · cart-open · cart-close · cart-overlay · cart · cart-items · search-open · search-panel · search-input · search-submit · search-close
Total: 15 elements
18 Clicked [data-app="open"] on first product → navigated to /product-details?id=1
/product-details?id=1 → cart → /checkout Full 23-role field:* set · payment×3 · select×2 · billing-fields · cart-items · cart-item · coupon · coupon-apply · coupon-message · submit
Total: 34 elements
14 Real UI: Add To Cart → open cart drawer → Proceed To Secure Checkout → filled/confirmed prefilled shipping form (US/Texas) → selected shipping method → filled card → CONFIRM ORDER → order placed successfully
/upsell1 open · accept · next 5 (image, name, description, price, id) Reached this time. Clicked [data-app="accept"] → upsell order merged into the sale
/thank-you cart-clear-on-order 12 order-id = 2EDF7A5CC7, EE68F5E88A (main + upsell, confirming the merge worked); total = 4.31
No gaps found. Full 23-role field:* mapping, payment selection state, cart, upsell accept/decline (including the open hook on the upsell offer itself), and thank-you value sinks all verified live.

3. 32fdf101 — 2-Step Funnel PARTIALLY VALID — FIELD MAPPING GAPS

Full flow reached and verified: Landing (Step 1: lead capture) → Checkout (Step 2: product + payment) → Upsell 1 → Thank You
Pagedata-app hooks founddata-attr-appLive verification performed
/landing (Step 1 — lead capture) submit only 0 Filled firstName/lastName/email/phone/address/city/country/state/zip via real UI, submitted. All 9 shipping/contact fields (firstName, lastName, email, phone, shippingAddress1, shippingCity, shippingCountry, shippingState, shippingZip) carry no field:* hooks — plain name="…" only. Valid per spec (name-only still posts correctly) but doesn't use the documented convention at all. Advanced to Step 2 successfully
/checkout (Step 2 — product + payment) select×13 (product/shipping cards) · timer×2 · payment×3 · coupon · coupon-apply · coupon-message · extended-subscription · field:billing-same (only field:* hook present)
Total: 24 elements
33 Selected product → data-app-selected fired on 3 elements (product, its button, default payment tile). Selected shipping radio, filled card, submitted successfully.
Billing fields (billingFirstName/LastName/Address1/City/Country/State/Zip) and ALL card fields (creditCardType/creditCardNumber/expmonth/expyear/CVV) carry no field:* hooks — plain name="…" only, unlike fea8ba3b/f6b89eda which had 100% coverage of the same 23 roles.
/upsell1 accept · next 8 Clicked [data-app="accept"] → advanced to thank-you
/thank-you cart-clear-on-order 14 order-id = 4E37C80BCA, 2F31FDB2E8 (main + upsell); total = 4.31
Selection, payment-method, cart/upsell/thank-you hooks are all correctly implemented and functional. The real, confirmed gap spans both steps, not just billing: on Step 1, the shipping/contact fields (firstName, lastName, email, phone, shippingAddress1, shippingCity, shippingCountry, shippingState, shippingZip) carry no field:* hooks; on Step 2, the billing fields (billingFirstName/LastName/Address1/City/Country/State/Zip) and every card field (creditCardType/creditCardNumber/expmonth/expyear/CVV) carry none either. field:billing-same is the only field:* hook present anywhere in this entire funnel — every other funnel checked had full 23-role coverage. Not broken (plain name attributes still post correctly per the docs), but a real completeness gap relative to the other two funnels.
Re-verified separately with a genuinely different billing address: unchecking "Bill to the same Address" correctly toggled billingSameAsShipping to no and revealed data-app="billing-fields"; billing fields (Sarah / BillingLastName / 456 Billing Ave / Denver, CO 80202) held their own distinct values right up to submit, separate from the shipping address (John / Tester / 123 Test St / Austin, TX) — no silent reset. Order still completed normally (order-id = 73C1D070D6, CBA7E86A39, total = 4.31). The billing-fields toggle mechanism itself is correctly implemented; the gap above is specifically about the missing field:* hooks on the individual inputs, not the toggle behavior.

Summary verdict

FunnelPages verified via real orderfield:* coveragePayment/cart hooksThank-you sinksOverall
fea8ba3b (1-Step) 4/4 (all steps in flow) 23/23 Fully valid
f6b89eda (LUXE) 4/4 (all steps in flow) 23/23 Fully valid
32fdf101 (2-Step) 4/4 (all steps in flow) 1/23 (billing-same only) Partially valid — field mapping gap