Tracking & Conversions in CAKE

This article will cover the following:


How Click Tracking Works

Every time a visitor clicks your tracking link, CAKE records the event before redirecting to the destination. This happens in milliseconds and gives affiliates and advertisers a shared, reliable record of all traffic.

  1. The visitor clicks the tracking link. CAKE logs the click and captures timestamp, device type, browser, IP address, and any custom sub-IDs.
  2. CAKE checks the click against campaign traffic filters — geography, device, duplicate-click rules.
  3. A unique click ID (also called transaction ID or tid) is generated and stored. This ties any later conversion back to this specific click.
  4. The visitor is redirected to the offer page. From their perspective the process is seamless.
Tip:
Affiliates can append sub-ID parameters (s1–s5) to tracking links to track which placements or creatives are driving results.

Postback URLs vs. Pixel Tracking

MethodHow it worksBest forRequires JavaScript?
Postback URL (S2S)Your server sends an HTTP request directly to CAKE when a conversion occurs.Mobile apps, server-side confirmation pages, high-volume campaigns.No
Conversion PixelA tiny image or JS snippet on your thank-you page fires in the visitor's browser.Standard web pages with an accessible confirmation page.Image pixel: No. JS pixel: Yes
Note:
Postback URLs are generally more reliable — not affected by ad blockers, browser privacy settings, or visitors who close the page early.

Setting Up a Postback URL

  1. Log in and navigate to Offers. Open the offer you want to configure.
  2. Click the Tracking tab within the offer settings.
  3. Copy the Postback URL shown on screen.
  4. Replace the REPLACE placeholder with the dynamic click ID your system stored at click time.
  5. Optionally append &amount=SALE_AMOUNT if your offer pays a percentage of sale.
  6. Configure your server to make an HTTP GET request to this completed postback URL on each qualifying conversion.
  7. Test it: complete a test conversion, then check Reports → Conversions to confirm it was recorded.
Tip:
The click ID is typically passed in the original tracking link as a URL parameter — e.g. ?s1={'{'}clickid{'}'}. Check with your network for the exact parameter name.

Adding a Conversion Pixel

  1. Open the offer in CAKE and go to the Tracking tab.
  2. Copy the conversion pixel code snippet — available as an image tag or JavaScript.
  3. Paste the pixel into the HTML of your confirmation or thank-you page, before the closing </body> tag.
  4. Make sure the pixel fires only on genuine conversions — not on every page load.
  5. Test by completing a test conversion and confirming it appears in your CAKE conversion report.

Conversion Statuses

StatusWhat it meansWho can change it
ApprovedValid; included in payouts.Advertiser or network admin
PendingRecorded but not yet reviewed or confirmed.Advertiser or network admin
RejectedReviewed and deemed invalid. Not paid out.Advertiser or network admin
ScrubbedRemoved automatically by fraud filters or campaign rules.System or network admin
Caution:
A high Rejected or Scrubbed rate signals a traffic quality issue. Reach out to your network account manager to investigate before continuing to run traffic.

API: Tracking & Conversion Endpoints

Record a Conversion

GET /api/2/conversion.json
ParameterTypeRequiredDescription
click_idstringYesThe unique click ID generated at click time.
offer_idintegerYesThe CAKE offer ID associated with the conversion.
payoutdecimalNoOverride the affiliate payout for this conversion.
revenuedecimalNoOverride the advertiser revenue for this conversion.
unique_idstringNoYour system's unique transaction reference for deduplication.
order_idstringNoOrder ID from the advertiser system.
adv1–adv5stringNoCustom sub ID fields 1–5.

Sample request

GET https://yourdomain.cakemarketing.com/api/2/conversion.json ?api_key=YOUR_API_KEY &click_id=abc123xyz789 &offer_id=12345 &payout=5.00 &revenue=12.00 &order_id=ORD-98765 &unique_id=TXN-00112233

Sample response

{ "request_status": "Success", "conversion_id": 4456789, "click_id": "abc123xyz789", "offer_id": 12345, "payout": 5.00, "revenue": 12.00, "conversion_status": "approved" }

Query Conversion History

GET /api/2/conversions.json
ParameterTypeRequiredDescription
start_datedateYesStart of date range (YYYY-MM-DD).
end_datedateYesEnd of date range (YYYY-MM-DD).
offer_idintegerNoFilter to a specific offer.
affiliate_idintegerNoFilter to a specific affiliate.
conversion_statusstringNoFilter by status: approved, pending, or rejected.
start_at_rowintegerNoRow offset for pagination. Default: 1.
row_limitintegerNoMax rows to return. Default: 100; max: 500.

Sample request

GET https://yourdomain.cakemarketing.com/api/2/conversions.json ?api_key=YOUR_API_KEY &start_date=2024-01-01 &end_date=2024-01-31 &offer_id=12345 &conversion_status=approved &start_at_row=1 &row_limit=25

Sample response

{ "request_status": "Success", "total_rows": 83, "conversions": [{ "conversion_id": 4456789, "click_id": "abc123xyz789", "offer_id": 12345, "payout": 5.00, "conversion_status": "approved" }] }

If you have any questions, please reach out to your dedicated CAKE Client Success Manager/Account Manager or contact the CAKE Support Team at support@getCAKE.com.


Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.