Single-product Deal
The partner runs an ad promoting one specific product deal — e.g., “Save 20% on the Radiant Tee with code SAVE20”. The buyer taps the ad, lands directly on the product detail page on the partner’s domain, and completes checkout — all without leaving the partner’s surface.
There is no category browsing step. The ad links straight to a PDP.
What the buyer sees
1. Ad click
A paid ad (social, search, display, retail-media, or QR-code-driven) carrying the deal message and a CTA. The ad links to a URL on the partner’s domain with the product and promo code embedded:
https://deals.partner.example/buy/<product-handle>?promo=SAVE20
The promo code is auto-applied — the buyer does not need to enter it manually.
2. PDP — full page
A full-page, partner-branded product detail page. Not a slide-out — the entire page is hosted on the partner’s domain.
Header (two-part):
- Partner header — partner branding (logo, name) plus a “Powered by Firmly” attribution. A back arrow returns to the referring page.
- Merchant identity — “You are shopping with [Merchant]” with the merchant’s domain.
Product content:
- Product images with thumbnail navigation
- Product name
- Promotional pricing — discounted price prominently, original price with strikethrough, savings callout (“Save $20”), promo reference (“with code SAVE20”)
- Product description (full merchant description)
- Variant selectors — size, color, or other variants with prices per variant
- Quantity selector
- Key benefits — bullet list with checkmarks
Two CTAs at the bottom:
- BUY NOW FROM [MERCHANT] (primary, solid) — proceeds to checkout
- VISIT [MERCHANT].COM (secondary, outlined) — redirects to the merchant’s product page on their own site. Affiliate parameters are preserved in the redirect URL — the partner still earns commission.
The promo code from the ad is visible throughout the PDP — in the pricing section and as a banner below the header.
3. Checkout — full page
After the buyer taps BUY NOW, a full-page partner-branded checkout replaces the PDP.
Header — same two-part structure: partner branding plus “You are checking out with [Merchant]”.
Order summary — collapsible section showing the product name and total price; expanding reveals full product details, promo confirmation, subtotal, shipping, tax, discount, and total due today.
Express checkout — wallet options available alongside standard card entry:
- 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 — with a Click to Pay consent notice below the field
- Shipping address — name, address fields, city, ZIP, state, phone
- Shipping method — available options with prices and a Change link
- Payment — card number, MM/YY, CVV. Billing-address-same-as-shipping checkbox defaults to checked
- Order summary at the bottom with the full breakdown
Place order — the buyer taps PLACE ORDER. A legal footer links to the partner’s and merchant’s terms and to Firmly’s privacy policy; the full list of documents surfaced at checkout is under Pre-purchase disclosure below.
Payment failure — 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
4. Thank-you page
After order placement, the checkout transitions to a thank-you page under the same partner branding.
- 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”
- Order details — merchant name, order number from the merchant, order total, payment method (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 after the order
- Footer — “Powered by Firmly” plus Terms and Privacy links
What the partner owns vs. what Firmly handles
| Partner | Firmly | |
|---|---|---|
| Ad creative + ad-platform setup | ✓ | — |
| Brand assets (logo, colors, fonts) | ✓ | Applies to all pages |
Domain (e.g., deals.partner.example) |
DNS CNAME | TLS via Cloudflare for SaaS |
| Legal text (T&C, privacy, disclaimers) | ✓ | Renders on pages |
| Product selection + promo configuration | ✓ | Resolves and configures |
| Live product data fetch | — | Via merchant platform adapter |
| Cart, shipping, tax, payment orchestration | — | ✓ |
| Affiliate attribution + conversion posting | Network credentials (BYO) or delegates | Executes |
| Ad-platform conversion signals | Pixel IDs | Fires (Meta CAPI, Google Ads, TikTok, etc.) |
Performance tracking
Affiliate attribution is preserved from ad click through order confirmation. The partner earns commission on every completed purchase, in either BYO or Firmly-managed mode.
Ad conversion signals fire to the originating ad platform after order confirmation — Meta CAPI, Google Ads Enhanced Conversions, TikTok / Pinterest / Snap / Reddit Conversions APIs — using the partner’s pixel IDs and click context stored at entry.
Pre-purchase disclosure
The partner’s T&C + 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
- Curated landing page — the multi-product variant
- Buyer purchase flow — the full sequence diagrammed
- Operations → Operational workflow — per-product setup
- Integration Patterns