Skip to main content

How Cheggout works

Every Cheggout integration is a variation on one shape: your systems authenticate the user and report that something happened; Cheggout decides what the user has earned and returns it; your app renders it and reports back what the user did.

Platform architecture

The boundary matters: the signing key and any API secret live on your backend, never in your app or website. Client surfaces carry short-lived tokens that your backend obtained.

The universal request flow

Three things are always true:

  1. Authentication happens server-side. Your backend proves who it is with a signature or an API key. The client only ever holds the result.
  2. Cheggout decides, the client renders. A "no reward this time" answer is a normal, expected response — not an error.
  3. Tracking is your responsibility to fire. Cheggout returns tracking URLs with each item; the integration is only complete when impressions and clicks are being fired. Reporting and settlement depend on it.

Where each module sits

ModulePublisher reportsCheggout returnsClient renders
Scratch CardsA qualifying event (payment, article read)Card IDs, then the revealed rewardCard, scratch animation, reward
AdvertisementA placement is on screenBanner or store creative + tracking URLsThe creative
MarketplaceAn authenticated sessionThe whole experienceSDK screens or a microsite
Coupons & DealsA coin burn / claimCatalogue, then a coupon codeYour storefront

Two-phase reward assignment

The scratch-card module deliberately splits issuance into two phases, and this is worth understanding before you read the API reference.

Phase 1 tells you a card exists. The reward behind it is chosen only when the user actually scratches, which stops inventory being burned on cards nobody opens. Targeting parameters you send in phase 1 are stored and applied at reveal.

Next