CallGrid

ClickFlare Integration Guide

Send call conversions from CallGrid to ClickFlare with the ClickFlare webhook template, including click ID capture, parameter mapping and testing.

Updated 6 min read

Browse the knowledge base
On this page

Overview#

ClickFlare is an ad tracker used by media buyers to measure spend and conversions. The integration does two things:

  1. Capture: the ClickFlare click ID (and UTMs) on the landing page URL reaches CallGrid as call tags, through the CallGrid tracking script and a number pool.
  2. Report back: when a call converts or becomes billable, a CallGrid webhook built from the ClickFlare Conversion Pixel template sends the click ID and the call's payout to ClickFlare.

The pattern is the same as RedTrack.

How the data flows#

  1. ClickFlare sends the visitor to your landing page with its click ID in the URL.
  2. The CallGrid tracking script swaps the page number for a number from the source's pool and holds it for that visitor.
  3. The visitor calls. CallGrid matches the call to the session and writes the URL parameters to call tags.
  4. The call routes normally.
  5. When the chosen event happens (for example Call Converted), the ClickFlare webhook fires with the click ID and payout.
  6. ClickFlare matches the click and records the conversion.

Prerequisites#

ClickFlare: a campaign with your landing page added as an offer, and ClickFlare's click ID token {cf_click_id} appended to that URL (for example ?clickid={cf_click_id}). You also need your ClickFlare tracking domain (for example mylandingpage.com) for the template's Landing Page Domain field.

CallGrid:

  • A static campaign whose source uses a number pool, with the tracking script installed. Sources on bidding campaigns are Dynamic and do not use pools or the tracking script.
  • Custom tags for the parameters you want (Integrations > Tags > New Tag; comma-separate names to create several).

Step 1: Send parameters to the landing page#

In ClickFlare, append tokens to the landing page URL, for example:

Text
https://yourlander.com/insurance?clickid={cf_click_id}

ClickFlare's click ID token is {cf_click_id} (ClickFlare also accepts {click_id}). To pass other values such as UTMs, map them to ClickFlare tokens (for example {trackingfield1}) in your ClickFlare traffic source settings and append those; ClickFlare's guide to passing traffic source data lists the exact tokens.

Step 2: Capture parameters as tags#

  1. Create a custom tag for each parameter under Integrations > Tags, named exactly as the URL parameter, including case (clickid, utm_source). Tag names are case sensitive.
  2. Install the tracking script exactly as the source's SDK Instructions dialog gives it. Do not add options that are not in that dialog.
  3. Test: open the page with ?clickid=test123, confirm the number swaps, call it, and check the call's tags in Reports.

If traffic arrives with the click ID under different names, create a Tag Alias (New Tag > Alias), for example ClickId with Alias Of tag:clickid|tag:cf_clickid. The alias reads the first non-empty tag. Use [[tag:ClickId]] in the webhook.

Pool misses lose attribution. If no pool number is free, the script shows the source's primary number; the call routes but carries no click ID. Watch Numbers > Pools > Misses.

Step 3: Create the ClickFlare webhook#

  1. Go to Integrations > Webhooks and click New Webhook.
  2. Name it, for example "ClickFlare - Converted".
  3. Event: usually Call Converted. Use Call Billable if ClickFlare should count billable calls.
  4. Template Mode: Conversion Pixel, then pick ClickFlare.
  5. Fill in the template fields:
    • Landing Page Domain: your ClickFlare domain, for example mylandingpage.com. Use your ClickFlare tracking domain, not the ClickFlare dashboard domain; a dashboard URL can return 200 with HTML and record nothing.
    • clickid URL parameter: the URL parameter you put ClickFlare's {cf_click_id} token into on your lander, for example clickid. CallGrid captures that parameter as a tag (Step 2). If you use a Tag Alias, enter the alias name.
    • Event Name: the ClickFlare event name, for example Lead.
  6. Save Webhook.

What the template sends#

ClickFlare webhook request URL and test variables

The template sends a GET request to your ClickFlare domain:

Text
https://<Landing Page Domain>/cf/cv?click_id=[[tag:<clickid URL parameter>]]&payout=[[tag:CallPayout]]&txid=[[tag:CallId]]&ct=<Event Name>&param1=[[tag:InboundNumber]]
  • click_id: the value of the tag named in clickid URL parameter.
  • payout: [[tag:CallPayout]], the call's payout. To report a different amount, edit the request and replace [[tag:CallPayout]] with another tag, for example [[tag:CallRevenue]].
  • txid: [[tag:CallId]], the CallGrid call ID, which ClickFlare uses for de-duplication.
  • ct: the Event Name you entered.
  • param1: [[tag:InboundNumber]], the number the caller dialed.

Macros available: [[tag:TagName]], [[number:TagName]], [[hash:TagName]], [[lchash:TagName]], [[b64:value]] (base64 of a tag's value when a tag with that name exists, otherwise of the text itself). Single-brace tokens such as {payout} or {call_id} are not CallGrid syntax.

Step 4: Attach the webhook to the campaign#

A webhook fires only when attached.

  1. Campaigns > edit the campaign > General tab.
  2. Under Webhooks, add the ClickFlare webhook.
  3. Save.

Add one webhook per event if ClickFlare tracks several (for example a Billable goal and a Converted goal), and set ClickFlare to count only one as the primary conversion so ROI is not double counted.

Parameter mapping#

ClickFlare token

CallGrid tag (create as custom)

Use

{cf_click_id}

clickid

Attribution key sent back

{trackingfieldN} mapped to the source

utm_source

Reporting, filters

{trackingfieldN} mapped to the medium

utm_medium

Reporting

{trackingfieldN} mapped to the campaign

utm_campaign

Reporting

{trackingfieldN} mapped to the content

utm_content

Reporting

{trackingfieldN} mapped to the term

utm_term

Reporting

ClickFlare's click ID token is {cf_click_id}. UTM values use the {trackingfieldN} token you map to each one in your ClickFlare traffic source settings (for example {trackingfield1}), so the number depends on your setup. The ClickFlare template's fields are Landing Page Domain, clickid URL parameter and Event Name.

Events and timing#

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.

  • Call Answered fires before you know whether the call earns revenue; use Billable or Converted for ROI.
  • A billable event fires when the call ends. A billable or conversion set by a Postback fires when the postback arrives.
  • Webhooks also fire on transitions made by PATCH /api/call (Revenue above 0 makes a call billable).
  • Webhooks authenticate with a shared secret in a query parameter or header. CallGrid does not retry failed webhooks.

Testing#

  1. Click through a ClickFlare tracking link to the lander.
  2. Confirm the number swaps; call it.
  3. In Reports > Call History, check the click ID tag and payout on the call.
  4. Let the call qualify for the event.
  5. Confirm the conversion and payout in ClickFlare.

Per-call webhook results are visible on the call timeline.

Best practices#

  • Verify click ID capture with a test call before spending.
  • Use Billable or Converted, not Answered, for ROI.
  • Match time zones between CallGrid reports and ClickFlare when comparing daily counts.
  • Size pools for concurrent visitors so calls keep attribution.
  • Vendor report users see custom tags such as the click ID only when the vendor's Share Custom Tags setting (Edit Vendor) is on.

Troubleshooting#

Symptom

Likely cause

Fix

Click ID missing on calls

Tag not created, casing mismatch, script missing, pool miss

Create the tag with exact casing; confirm script; check Misses

Webhook never fires

Not attached on campaign General tab, or event never reached

Attach it; confirm calls reach the event

ClickFlare records nothing

Dashboard domain instead of tracking domain; empty click ID

Fix the URL; send a real click ID

Payout 0

The call had no payout at the event, or the payout parameter was edited

Check the call's payout in Reports and the payout parameter in the request

Endpoint blocks requests by IP

Receiver allowlist

Turn on Use Static IP for requests on the webhook; requests then come from 3.232.249.88 and 54.160.65.103, the same as destination Pings. Ask ClickFlare or the receiver to allow both

Do it with AI#

Ask Griddy, Claude or ChatGPT. Try: "Which of my calls yesterday are missing the clickid tag?" Claude and ChatGPT need the CallGrid connector turned on (setup guides for Claude and ChatGPT).

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

Was this article helpful?

Still stuck on a setup step?

Email support@callgrid.com with this article and where it stopped matching. A CallGrid specialist will help you get it working.