Docs
Firmly Agentic Commerce
Set theme to dark (⇧+D)

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):

  1. Partner branding (logo, name) plus “Powered by Firmly” attribution; back arrow to the referring page
  2. 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):

  1. Partner branding + “Powered by Firmly” + back arrow
  2. 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):

  1. Email — email field, with a Click to Pay consent notice below it
  2. Shipping address — name, address fields, city, ZIP, state, phone with country-code selector
  3. Shipping method — available options with prices; Change link to select alternatives
  4. Payment — card number, MM/YY, CVV; billing-address-same-as-shipping checkbox defaults to checked
  5. 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:

  1. Ad click — the partner’s custom domain routes to Firmly’s edge service under first-party TLS
  2. Affiliate URL expansion — Resolve the affiliate URL, extract the attribution key, identify the network
  3. Session attribution storage — Persist the attribution key server-side through the checkout session (replaces browser cookies)
  4. Catalog fetch — Fetch real-time merchant product data via the platform adapter (price, images, variants, stock)
  5. PDP or landing-page render — Render under the partner’s theme with the promo applied
  6. Session + cart on the merchant — Create an anonymous guest session and a cart on the merchant’s backend
  7. Promo application — Apply the promo code from the ad URL to the merchant’s cart
  8. Shipping resolution — Submit address; fetch available methods + rates; submit chosen method
  9. Tax + billing — Trigger merchant tax calculation; submit billing address
  10. Payment tokenization — Tokenize payment data via the merchant’s PSP; submit token
  11. Order placement — Submit the finalized checkout to the merchant for order creation; capture the merchant’s order number + confirmation
  12. Affiliate conversion posting — Fire the conversion to the affiliate network using the stored attribution key
  13. 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.