Buyer Purchase Flow
This page covers the end-to-end buyer experience for Branded Commerce. The flow happens entirely on the partner’s domain, under the partner’s theme — the buyer never visits the merchant’s website (unless they choose to via the Visit Merchant link on the PDP).
There are two entry-point variations of the same flow:
| Variation | Entry phase | Where the ad routes to |
|---|---|---|
| Single-product | Ad → PDP | A specific product the partner is promoting |
| Curated landing page | Ad → Landing page → PDP | An occasion page with a product grid (gift guides, seasonal events, themed roundups) |
The PDP, checkout, and thank-you phases are identical across both variations. Everything below applies to both unless flagged.
Phase 1 — Ad click
The buyer sees a paid ad. The ad creative carries the deal message and a CTA that links to the partner’s Firmly-hosted domain.
| Source | Mechanism | Example |
|---|---|---|
| Social ads | Tap / click | Facebook, Instagram, TikTok with “Shop Now” CTA |
| Search ads | Click on sponsored result | Google Shopping, Bing product ad |
| Display / TV ads | QR-code scan | Connected-TV ad showing a QR code |
| Retail-media | Click on sponsored placement | Walmart Connect, Target Roundel |
| Direct | Click on link | Email, SMS, influencer post, deal roundup |
The ad links to a URL on the partner’s domain. The promo code from the ad is embedded in the URL and auto-applied — the buyer does not need to enter it manually.
Single-product variation:
https://deals.partner.example/buy/<product-handle>?promo=SAVE20
Curated landing-page variation:
https://deals.partner.example/event/<event-name>?promo=MOM20
Phase 2 — Landing page (curated variation only)
A full-page, partner-branded occasion page. The buyer browses curated products before selecting one.
Header (two-part):
- Partner branding (logo, name) plus “Powered by Firmly” attribution; back arrow to the referring page
- Promo banner — “Exclusive offer: Save 20% with code MOM20”
Merchant identity — “Shopping with [Merchant]”. For multi-merchant landing pages, the per-product cards each show their own merchant.
Occasion title — large heading identifying the event (“Mother’s Day Gift Guide”, “Summer Skincare Essentials”).
Product grid — two-column grid; each card has product image with discount-badge overlay, product name, brief description, pricing (strikethrough + discounted + promo reference), and a Shop Now button that taps through to the PDP.
Footer — “Discount automatically applied at checkout” notice; “Powered by Firmly”.
For curated landing pages, the buyer can browse products from multiple merchants in the same grid — each product card links to a single-merchant PDP. See Curated landing page → Multi-merchant landing pages for details.
Phase 3 — PDP
A full-page, partner-branded product detail page on the partner’s domain.
Header (two-part):
- Partner branding + “Powered by Firmly” + back arrow
- Merchant identity — “You are shopping with [Merchant]” + the merchant’s domain
Product content:
- Product images with thumbnail navigation
- Product name
- Promotional pricing — discounted price prominent, original strikethrough, savings callout, promo reference
- Product description (from the merchant’s catalog)
- Variant selectors — size, color, or others with per-variant prices
- Quantity selector
- Key benefits — bullet list
Two CTAs at the bottom:
| CTA | Action |
|---|---|
| BUY NOW FROM [MERCHANT] (primary, solid) | Proceeds to the partner-branded checkout |
| VISIT [MERCHANT].COM (secondary, outlined) | Redirects to the merchant’s own product page with affiliate parameters preserved — the partner still earns commission |
The promo code is visible throughout the PDP — in the pricing section, and as a banner below the header.
Phase 4 — Checkout
A full-page, partner-branded checkout. Replaces the PDP — not a slide-out.
Header — same two-part structure: partner branding plus “You are checking out with [Merchant]”.
Order summary — collapsible section. Collapsed: product name + total. Expanded: full product details, promo confirmation, subtotal, shipping, tax, discount, total due today.
Express checkout — wallet options alongside standard card entry:
| Wallet | Status |
|---|---|
| Click to Pay (Visa / Mastercard) | Live |
| PayPal | Live |
| Google Pay | Planned |
Clicking an express option skips address and payment entry — the wallet returns both a shipping address and payment authorization.
Standard form (when not using an express wallet):
- Email — email field, with a Click to Pay consent notice below it
- Shipping address — name, address fields, city, ZIP, state, phone with country-code selector
- Shipping method — available options with prices; Change link to select alternatives
- Payment — card number, MM/YY, CVV; billing-address-same-as-shipping checkbox defaults to checked
- Order summary — full breakdown at the bottom
Place order — the buyer taps PLACE ORDER. A legal footer sits below the button linking to the partner’s and merchant’s terms and to Firmly’s privacy policy. The exact documents surfaced are described under Pre-purchase disclosure below, which is the authoritative list — the partner’s T&C and privacy policy plus the merchant’s T&C are all shown at checkout.
Payment failure (inline) — if payment fails (e.g., card declined), the error displays inline on the same page:
- Error banner with the failure reason
- Card field highlighted red with inline error text
- TRY AGAIN (primary) — buyer corrects and retries
- VISIT [MERCHANT].COM (secondary) — redirects to the merchant’s site with affiliate parameters preserved
Phase 5 — Thank-you page
After order placement, the checkout transitions to a partner-branded confirmation.
- Success indicator — confirmation heading
- Merchant confirmation notice — "[Merchant] will send the order confirmation"
- Savings callout — “You just saved $[amount] with [Partner]! Coupon SAVE20 was applied to your order” — reinforces the value of the partner’s deal
- Order details — merchant name, order number from the merchant, order total, payment (card type + last 4), email, shipping-to address, shipping method + estimated delivery
- Merchant links — Contact, Returns, Terms — pointing to the merchant’s own pages so the buyer can reach the merchant directly for anything after the order
- Footer — “Powered by Firmly” with Terms and Privacy links
What happens behind the scenes
Each phase corresponds to operations Firmly performs against the merchant’s platform. The buyer-facing experience is unified; the under-the-hood sequence is:
- Ad click — the partner’s custom domain routes to Firmly’s edge service under first-party TLS
- Affiliate URL expansion — Resolve the affiliate URL, extract the attribution key, identify the network
- Session attribution storage — Persist the attribution key server-side through the checkout session (replaces browser cookies)
- Catalog fetch — Fetch real-time merchant product data via the platform adapter (price, images, variants, stock)
- PDP or landing-page render — Render under the partner’s theme with the promo applied
- Session + cart on the merchant — Create an anonymous guest session and a cart on the merchant’s backend
- Promo application — Apply the promo code from the ad URL to the merchant’s cart
- Shipping resolution — Submit address; fetch available methods + rates; submit chosen method
- Tax + billing — Trigger merchant tax calculation; submit billing address
- Payment tokenization — Tokenize payment data via the merchant’s PSP; submit token
- Order placement — Submit the finalized checkout to the merchant for order creation; capture the merchant’s order number + confirmation
- Affiliate conversion posting — Fire the conversion to the affiliate network using the stored attribution key
- Ad conversion signals — Fire conversion events to the partner’s ad platforms (Meta CAPI, Google Ads Enhanced Conversions, TikTok / Pinterest / Snap / Reddit Conversions APIs) using the partner’s pixel IDs and the click context captured at entry
Steps 12–13 fire automatically after order placement — the partner doesn’t trigger them.
Pre-purchase disclosure
The partner’s T&C and privacy policy plus the merchant’s T&C are both displayed at checkout. See Consent & Disclosure for the broader pattern of what to surface before order placement.
Related
- Use Cases — entry-point variations
- Single-product deal — phase-by-phase walkthrough scoped to the single-product variation
- Curated landing page — the landing-page variation
- Integration Patterns — how partner-hosted setup works
- Cart Lifecycle — how the cart progresses through to a placed order
- Consent & Disclosure