# Setting Up CAKE Conversion Pixel Webhook

> Send a conversion to CAKE when a CallGrid call converts, so CAKE can attribute the call to the right offer and affiliate and pay commissions.

Source: https://callgrid.com/knowledge-base/setting-up-cake-conversion-pixel-webhook
Last updated: 2026-10-28
Topics: Integrations, Conversion Pixel

## Overview

The CAKE template sends a conversion to CAKE, the affiliate tracking platform, when a CallGrid call converts, so CAKE can attribute the call to the right offer and affiliate and pay commissions.

## Setup

Setting up the CAKE webhook takes four steps: create it, attach it to your campaign, check the parameters CAKE needs, then test.

### 1. Create the webhook

![New Webhook with the CAKE template selected](https://callgrid.com/api/media/file/kb-CAKE-template.png)

1. Go to **Integrations > Webhooks** and click **New Webhook**.
2. Enter a **Name**.
3. Choose the **Event**. Most CAKE setups use **Call Converted**; use **Call Billable** if CAKE should count billable calls.
4. Set **Template Mode** to **Conversion Pixel** and choose **CAKE**.
5. Fill in the template's **CAKE Domain** field.
6. Review the request in the request editor and click **Save Webhook**.

Available events: Call Inbound, Call Initiated, Call Ended, Call Error, Call Answered, Call Billable, Call Paid, Call Converted, Insights Completed, Transcription Completed, Recording Completed, Bid Received, Postback Received.

### 2. Attach it to the campaign

A webhook fires only when attached to a campaign.

1. Open the campaign, **General** tab.
2. Under **Webhooks**, add the CAKE webhook.
3. Save the campaign.

### 3. Map the parameters

![CAKE webhook request URL and test variables](https://callgrid.com/api/media/file/kb-CAKE-request.png)

Check that the request passes what CAKE needs to match and pay the conversion:

- A transaction or conversion ID: the CallGrid call ID, or CAKE's own request or click ID if you captured it as a custom tag.
- The CAKE offer ID: often a fixed value per webhook, or a tag if one webhook serves several offers.
- The affiliate or sub ID: for example the source's Sub ID tag.
- Revenue or payout amount: the call revenue or payout tag.

Insert values with `[[tag:TagName]]`, or `[[number:TagName]]` for numeric amounts. Tag names are case sensitive; use the code icon in the editor to insert them.

### 4. Test

![Webhook Testing panel with Run Webhook](https://callgrid.com/api/media/file/kb-Webhook-testing.png)

![](https://callgrid.com/api/media/file/CakeTesting.png)

1. Place a test call that meets the event (for example, a call that converts).
2. Confirm the conversion appears in CAKE with the right offer, affiliate and amount.
3. If nothing arrives, check the webhook is attached on the campaign and the call actually reached the event.

To test the request without a live call, open the webhook, fill in the **Test Variables** under **Webhook Testing** and click **Run Webhook**.

## Timing

- A billable event fires when the call ends, not at the moment the call crosses its billable duration.
- A billable or conversion set by a postback fires live, when the postback is received.
- Billable and paid transitions made by the API bulk edit (`PATCH /api/call`) fire the Call Billable and Call Paid webhooks when those flags change. A Converted edit through the API stores the conversion but does not fire Call Converted or send a Google Ads conversion; Call Converted fires only from a postback.

## Best practices

- Use one webhook per CAKE offer when offers need different IDs.
- Use unique transaction IDs (the call ID) so CAKE does not double count.
- Send amounts as numbers and in the format CAKE expects.
- Attach the webhook only to campaigns that belong to that CAKE offer.
- Compare a sample of calls between CallGrid Reports and CAKE weekly.

## Troubleshooting

| Symptom | Check |
| --- | --- |
| Nothing reaches CAKE | Webhook attached on the campaign General tab; event actually occurs; CAKE domain correct |
| Conversions arrive without attribution | Offer ID and affiliate or sub ID parameters present and correct |
| Wrong revenue | Revenue tag and number format; for Postback-billed destinations revenue comes from the postback |
| Duplicate conversions | Event choice (Call Billable and Call Converted both attached), or several postbacks on one call |
| CAKE firewall blocks requests | IP allowlists: the documented static IPs 3.232.249.88 and 54.160.65.103 apply to event webhooks and destination Pings when **Use Static IP for requests** is checked on the request |

## Do it with AI

**Ask Griddy, Claude or ChatGPT.** Try: "Did the CAKE webhook fire on my last converted call, and what did CAKE respond?" Claude and ChatGPT need the CallGrid connector turned on (setup guides for [Claude](https://callgrid.com/knowledge-base/callgrid-mcp-connect-to-claude-desktop) and [ChatGPT](https://callgrid.com/knowledge-base/callgrid-mcp-connect-to-chatgpt)).

The connector is read only. It looks things up and reads your data. You make the changes in CallGrid.
