Post-Click Purchase
A viewer clicks a display ad, video ad, or audio ad (e.g., a spoken URL or QR prompt) and lands on a dedicated page where the product detail, address, and payment all live. The landing is purpose-built for conversion — single-product or curated-bundle, with the click-ID carried through so the ad platform credits the conversion correctly.
This pattern fits when the ad surface does not support in-feed checkout — many display networks, video platforms, and connected-TV surfaces fall in this category. The landing is owned by the advertiser, the ad platform, or a partner running the post-click experience.
Recommended setup
| Choice | Default | Why |
|---|---|---|
| Integration pattern | Post-Click Landing | The viewer expects a full landing experience after clicking through |
| Auth | Browser session | The landing renders per viewer |
| Payment | Card via JWE, PayPal Express, Klarna BNPL | Landing has full screen for richer payment options |
| Attribution | Click-ID + UTM params | Carried in the landing URL; persisted in the cart session |
API sequence
The flow follows the Single Product Purchase shape. The landing URL encodes the SKU; the page resolves it on load.
| Step | Endpoint |
|---|---|
| 1. Capture click-ID and UTM from landing URL | Client-side |
| 2. Bootstrap session | POST /api/v1/browser-session |
| 3. Render product detail | (Optional) GET /domains-products/{domain}/{handle} |
| 4. Add to cart | POST /cart/line-items |
| 5. Set shipping address | POST /cart/shipping-info |
6. Pick shipping method (from cart.shipments[].shipping_method_options) |
POST /cart/shipment/methods |
| 7. (Optional) Get delivery availability | POST /cart/shipments/get-availability |
| 8. (If required) Get + set merchant consents | GET /cart/consents → PUT /cart/consents |
| 9. Get payment public key | GET /payment/key |
| 10. Complete order | POST /payment/complete-order |
| 11. Fire ad-platform postback | Per-platform conversion API |
Steps 4–9 build the cart, so step 10 finalizes that existing cart with complete-order (body: encrypted_card + billing_info). Use place-order only for the one-shot path that creates the cart and places the order in a single call.
Considerations the landing owns
- Persist click-ID in the cart session. If the viewer navigates around the landing before checking out, the click-ID must persist so the eventual order metadata still carries it.
- One landing template, many campaigns. Reuse the same landing template across campaigns; vary it through URL parameters (SKU, UTM content) rather than spinning up new landings per creative.
- Mobile-first. Most ad clicks come from mobile. Optimize the landing for one-thumb completion: short address forms, wallet payment options surfaced first.
- Drop-off recovery. Some viewers will abandon mid-checkout. Consider whether the landing offers email capture or retargeting tags to enable follow-up campaigns.
Related
- Single Product Purchase Flow — full API walkthrough
- Post-Click Landing pattern — UI hosting choice
- In-Feed Shoppable Ad — the alternative use case