'thankYou'
layout turns the moment right after a purchase into a complete branded thank-you. Use it
when the placement fires right after a successful transaction — a checkout confirmation, a
payment-success page, a subscription upgrade.
The complete pattern
The options
placement() reference.
The receipt is per-transaction payment context passed to
show() — { amount: '$9.99', purpose: 'Pro Plan' }
renders “You paid $9.99 for Pro Plan” as the status subtitle. Render-only: it is never
sent to Encore’s servers.
Why immediate mode
For post-purchase surfaces, configureredemptionMode: 'immediate': a claim opens the
advertiser tab within the tap gesture and resolves { status: 'claimed' } — one action, no
follow-up. The default deferred mode instead records a
pending transaction for a
later redeem() call — use it only if your flow
genuinely has a second host step.
Gotchas
- You own the payment copy. The receipt values and all
header/footerstrings come from your code — the layout displays nothing you didn’t pass. receipt+header.subtitle— receipt wins (a warning is logged). For a fully custom status line, build the string yourself and pass it asheader.subtitleatshow()time (placement options are evaluated per call) instead of usingreceipt.- Format
amountyourself. Values render verbatim —'9.99'shows as “You paid 9.99”. offerContext.subtitleis a fallback. A campaignperkline on the active offer supersedes it and follows the carousel as the user pages. Put must-show copy inofferContext.title.- Unknown
layoutvalues fall back to'list'with a warning — older SDK versions degrade gracefully. offerContext/footer/receiptneedlayout: 'thankYou'.headerworks in both layouts (onlyheader.iconis thankYou-specific).
Related
placement()— thePlacementOptionscontract.show()— thereceiptparameter and result statuses.- Redemption Modes — deferred vs immediate side by side.