CallGrid calls,matched to every ad click

ClickFlare appends its click ID to your lander, and the CallGrid SDK stores it as a clickid Tag on the call. When the event you choose fires, such as Call Paid, CallGrid's built-in ClickFlare webhook posts the click ID, payout and call ID to ClickFlare.

CG
CallGrid
Pay-per-call platform
At a glance
How it connects
CallGrid webhook to the ClickFlare postback
What syncs
Calls, payout, call ID, dialed number
Sync schedule
Real time, when the chosen call event fires
Key parameters
[[tag:clickid]], [[tag:CallPayout]], [[tag:CallId]]
Works with
SDK campaigns, RTB posting setups, direct tracking
Good to know
The clickid Tag name is case-sensitive and must match the URL.
Pay-per-call
Built-in webhook
Event-level conversions

Optimize pay-per-call on the calls that paid

Optimize toward paid calls

Fire the webhook on Call Paid, so ClickFlare and your ad platforms learn from calls that met your payout criteria.

Inbound, answered, paid

Create one webhook per event with its own ct value and see inbound, answered and paid calls as separate conversion types.

No duplicate calls

Map txid to [[tag:CallId]]. ClickFlare uses the transaction ID to deduplicate conversions for the same call.
How it works

From ad click to profit per campaignattributed revenueattributed salesa matched conversion

01
Your ad
Visitor clicks
Ad on CallGrid
02
ClickFlare
Click recorded
A unique cf_click_id is created
03
Your offer
Conversion
Lead, sale or custom event
04
ClickFlare
Sent back to CallGrid
Through the Conversion API or postback
05
Cost API
Spend pulled in
CallGrid cost matched to each campaign
01
Your ad
CallGrid click
Macros fill the tracking URL
02
ClickFlare
Click recorded
Zone, site and device data stored
03
Offer or lander
Visitor converts
On your page or the offer
04
ClickFlare
Conversion logged
With payout and event type
05
Postback
Reported to CallGrid
So its optimization sees the result
01
Your ad
Visitor clicks
Any traffic source
02
ClickFlare
Click recorded
A unique cf_click_id is created
03
Your article
Keyword block
Click ID passed to the feed
04
Results page
Paid click
Conversion fired to ClickFlare
05
CallGrid API
Revenue matched
Pulled on a schedule and reconciled
01
Your ad
Visitor clicks
Any traffic source
02
ClickFlare
Click recorded
cf_click_id passed to the offer
03
CallGrid
Offer or call
The network tracks the action
04
CallGrid
Conversion
Lead, sale, call or rebill
05
Postback
Payout in ClickFlare
Matched to the original click
01
Your ad
Visitor clicks
Any traffic source
02
ClickFlare
Click recorded
A unique cf_click_id is created
03
CallGrid
Store or funnel
Click ID kept through checkout
04
Events
View, cart, checkout
Each step tracked
05
ClickFlare
Purchase recorded
Order value matched to the ad
Pay-per-call

From clickid Tag to Call Paid postback

ClickFlare adds clickid={cf_click_id} to your lander URL. The CallGrid SDK swaps in a tracking number and saves clickid as a Tag. When the selected event fires, a CallGrid webhook sends the click ID, payout and call ID to ClickFlare.
  • clickid saved as a CallGrid Tag
  • Template mode or manual webhook URL
  • One webhook per event, each with its own ct
Today, one campaign
example
Spend pulled from CallGrid
cost
$412.30
Conversions recorded
today
38
Sent back to CallGrid
per event
38/38
Profit
campaign
$227.70
Example numbers. Cost and conversions sit in the same report row.
Captured on every CallGrid click
key macros
[[tag:clickid]], [[tag:CallPayout]], [[tag:CallId]]
captured
From the CallGrid template in ClickFlare. Use them as report columns and rules.
Revenue for one click
example
Paid click
day 0
$0.00
First revenue pull
+1h
$0.41
Scheduled updates
next days
$0.58
Final pull
last sync
$0.62
Example amounts. Sync timing for CallGrid is in the facts above.
Events for one click
example
Lead
day 0
$0.00
Sale
day 0
+$40.00
Upsell
day 1
+$15.00
Refund
day 9
−$15.00
Example events. Each one arrives by postback and is matched to the click.
One visitor's path
example
Product view
step 1
—
Add to cart
step 2
—
Checkout
step 3
—
Purchase
step 4
$68.00
Example order. Each event is tied to the ad that brought the visitor.
3
Call events to post back
20
Extra params per postback
2.3B
Events tracked
Setup

Connected in five steps

You need a CallGrid account with a campaign, source and destination, a lander that shows a phone number and a ClickFlare account.
  1. Add your lander as an offer Create the call landing page as an offer in ClickFlare and append clickid={cf_click_id} to its URL.
  2. Add clickid as a Tag in CallGrid Go to Integrations, then Tags, and add a tag named clickid. The Media Buying tags template can create it for you. It's then available as [[tag:clickid]].
  3. Install the CallGrid SDK In your CallGrid campaign, open Sources, click SDK Instructions next to your source, choose Normal and paste the script on the lander, ideally just before the closing body tag.
  4. Create a custom conversion In ClickFlare, create a custom conversion for calls, for example converted_call. Its name is the ct value in the postback. Then copy your postback URL from Settings, Tracking URLs.
  5. Add the ClickFlare webhook In CallGrid Webhooks, click + New Webhook, turn on Template Mode, choose Conversion Pixel, select ClickFlare, name it, pick the event, such as Call Paid, and save.
Manual-mode postback for a CallGrid webhook
https://your_tracking_domain.com/cf/cv?click_id=[[tag:clickid]]&payout=[[tag:CallPayout]]&txid=[[tag:CallId]]&param1=[[tag:InboundNumber]]&ct=converted_call
app.clickflare.com/integrations
CG
CallGrid
Pay-per-call
Connected
CallGrid account connected
Signed in from ClickFlare
Cost syncing
Spend matched to campaigns
Conversions sent back
Your chosen events
CallGrid template selected
Macros pre-filled
Tracking URL in CallGrid
Click ID captured
Conversions reported
Payout included where supported
CallGrid connected
Credentials saved in ClickFlare
Conversion event set
Click ID passed to the feed
Revenue syncing
On the feed's schedule
CallGrid added
Offer URL carries the click ID
Postback set in CallGrid
Payout and event included
Conversions arriving
Matched to the click
CallGrid connected
Click ID kept to checkout
Events mapped
View, cart, checkout, purchase
Purchases tracked
Order value in reports
Ready to track
If the number pool runs out, CallGrid falls back to your static number. The call is still tracked, but it may not be linked to the right click.
CallGrid setup guide
Open the guide
In your reports

What you see once it's connected

  • Paid calls per campaign
  • Call payout by traffic source
  • Inbound vs. answered vs. paid
  • Calls per dialed number
  • Lander split-test results
  • Funnel steps before the call
Use cases

How media buyers run it

Taboola or NewsBreak → call lander

Native → lander → call

The click ID arrives in the URL and the CallGrid SDK picks it up on page load.

Show the number on click

Load the CallGrid SDK only after a quiz answer or a Call Now click, from a Tag Manager trigger, to keep pool numbers free.

Google Ads without redirects

Direct tracking stores the click ID in a cookie. Push it to CallGrid with addTags() and the call still carries it.
Frequently asked questions

Questions about CallGrid

No items found.
Setup guides
CallGrid setup guide
{"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "Does ClickFlare integrate with CallGrid?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. CallGrid has a built-in ClickFlare webhook template. It posts call conversions with click ID, payout and call ID to your ClickFlare postback URL."}}, {"@type": "Question", "name": "Which CallGrid event should count as a conversion?", "acceptedAnswer": {"@type": "Answer", "text": "Call Paid is recommended for optimizing toward revenue. Call Inbound measures volume and Call Answered tracks connected calls. Early events may carry no payout yet."}}, {"@type": "Question", "name": "Do I need a CallGrid number pool?", "acceptedAnswer": {"@type": "Answer", "text": "A single static number works, but calls are then attributed at campaign level only. Use a number pool so each visitor sees a unique number tied to one click."}}, {"@type": "Question", "name": "Does it work with CallGrid RTB campaigns?", "acceptedAnswer": {"@type": "Answer", "text": "The postback works the same way. RTB campaigns don't use the on-page SDK, so pass the click ID to CallGrid as a tag through your RTB posting setup."}}, {"@type": "Question", "name": "Why is the click ID missing on CallGrid call records?", "acceptedAnswer": {"@type": "Answer", "text": "Check that clickid exists under Integrations, Tags, that its name matches the URL parameter exactly, since it's case-sensitive, and that the offer URL includes clickid={cf_click_id}."}}, {"@type": "Question", "name": "How do I avoid duplicate call conversions?", "acceptedAnswer": {"@type": "Answer", "text": "Map txid to [[tag:CallId]]. ClickFlare uses the transaction ID to deduplicate conversions for the same call."}}]}