If you sell through ClickBank, BuyGoods, Digistore24, ThriveCart, SamCart, WarriorPlus
or JVZoo, you do not need this API. Connect the integration and the postback is
wired for you.
Send a sale
Needs a token with theconversions:write scope. See
Authentication.
201 Created
Send the session
video_code is the only required field. But a sale with no session_code is a sale you
cannot trace back to a viewer. It lands in your totals and nowhere else. Your
play-to-sale rate, your retention-by-buyer curve, and your split-test winner all stay
blind to it.
Read the session from the player and carry it through your checkout:
Do not double count
Send anIdempotency-Key header on every call.
The first response for a given key is cached for 24 hours. A retry carrying the same key
replays that response (same status, same body, plus Idempotency-Replayed: true) and
does not record a second sale.
Fields
string
required
The video the sale is credited to. A conversion with no video cannot be attributed to
anything.
string
Your order ID. Defaults to a generated UUID.
number
The sale amount. Feeds revenue, EPC, RPV, AOV and ROAS.
string
Three-letter code, e.g.
USD.string
string
string
string
string
object
Anything else you want kept with the sale.
boolean
Marks the row as a test so you can exclude it from reporting.
string
Send with
split_test_variation_id, or send neither. One without the other cannot
identify an arm, and a half-attributed sale looks valid while being wrong.string
Send with
split_test_id, or send neither.string
When the sale happened, as a date-time. Defaults to now.
What happens next
A recorded conversion fans out to everything you have connected: webhooks, Zapier, Meta CAPI, TikTok Events, GA4, RedTrack, Everflow, and your CRM. It works exactly as a cart postback would. You do not wire those up twice.Errors
401
401
The token could not be resolved to a workspace.
403: INSUFFICIENT_SCOPE
403: INSUFFICIENT_SCOPE
Your token lacks
conversions:write.404
404
No video with that
video_code exists in this workspace. The response echoes the
video_code you sent. A token can only ever write into its own workspace, so this
usually means the code is from a different one.422
422
Validation failed. Check
conversion_currency is exactly 3 characters and that
split_test_id/split_test_variation_id were sent together.429
429
Rate limited. Writes are capped at 60 per minute per token.
503
503
The conversion could not be written. Retry with the same
Idempotency-Key.