Call Bullet
Per-client connection

Phone calls inside GA4, on the right session, with no copying secrets.

Sign in with Google and pick the property: Call Bullet creates the sending key, custom definitions and a phone_call_lead key event for you. Calls are added to the visitor's real GA4 session so they sit against the right landing page, campaign and ad click. Choose which events to send, add values in £, send a test and watch delivery health here.

How it works

  • The website script picks up the visitor's GA4 browser and session IDs (only with consent).
  • When that visitor rings, the call event is sent to GA4 against the same session.
  • Calls with no website visit are still sent as offline calls, without identifiers.

What data it uses

  • GA4 browser and session IDs (with consent)
  • Call time, length, outcome, source and tracking number
  • No caller numbers, names, recordings or transcripts

How a call reaches GA4

Step 1

Website visit

The visitor lands from an ad or search. Their GA4 session is noted (with consent).

Step 2

Phone call

They ring the tracking number shown to them.

Step 3

GA4 session

The call is added to that same session — right landing page, campaign and click.

Easier than pasting secrets

Call BulletUsual manual setup
API secretCreated for you when you sign inCreate and paste it yourself
Key eventphone_call_lead created and marked for youCreate and mark it by hand
Session matchCall joins the visitor's own GA4 sessionOften a new, unattributed user
TestingOne-click test with a Realtime linkWait and hope
HealthSent, matched, offline and failed countsNo visibility

Set it up in five minutes

  1. 1

    Open the integration

    In Call Bullet choose the client from the switcher, then go to Integrations → Google Analytics 4.

    Integrations → Google Analytics 4

  2. 2

    Sign in with Google

    Use the Google account that has Editor access to the client's GA4 property. Call Bullet asks only for Analytics access.

    Step 1 · Google account

  3. 3

    Pick the web stream

    Choose the property and web stream for the client's website. Call Bullet creates a sending key, custom definitions and the phone_call_lead key event. You can connect up to 5 properties per client.

    Step 2 · Add property

  4. 4

    Choose what's sent

    Pick a preset — Recommended, Leads only or Everything — or switch events on and off yourself. Set the minimum length for a quality call and any £ values.

    Step 3 · Events

  5. 5

    Send a test

    Press Send test. When Google accepts it, open Realtime from the link shown and look for callbullet_test_call.

    Step 4 · Test

  6. 6

    You're live

    Every new call is now sent automatically. Watch sent, matched and failed counts on the same page. Optionally send the last 3 days of calls.

    Step 5 · Health

Can't give Google access? Connect manually

  1. In GA4 open Admin → Data collection → Data streams and click the website's web stream.
  2. Copy the Measurement ID (it starts with G-).
  3. On the same page open Measurement Protocol API secrets → Create, name it Call Bullet and copy the value.
  4. In Call Bullet press Add manually, paste both values and press Check and save.
  5. In GA4 Admin → Events, mark phone_call_lead as a key event once it has arrived.

Events we send

GA4 eventWhenDetails
callbullet_phone_callAny call endscb_source, cb_tracking_number, cb_outcome, call_duration
phone_call_leadAnswered and at least the minimum length (key event)Same as above, plus value in GBP if set
callbullet_first_callFirst call from a new callercb_first_time = yes
callbullet_missed_callUnanswered or abandonedcb_outcome
callbullet_voicemailCaller left a messagecb_outcome
callbullet_lead_qualifiedYou mark the call qualifiedvalue if set
callbullet_lead_wonYou mark the call wonvalue in GBP
callbullet_phone_click / number_shownWebsite visitor taps or sees the number (with consent)Sent through the site's own GA4 tag

Troubleshooting

Nothing appears in Realtime
Wait up to two minutes, check you're looking at the same property, and turn off ad blockers while testing your own visits.
Calls show as a new user, not the visitor's session
The visitor didn't consent to analytics cookies, or the call came from outside the website (Business Profile, print). These are sent as offline calls.
A call from last week wasn't sent
Google only accepts backdated events for about 72 hours. Older calls stay in Call Bullet but aren't sent to GA4.
Sending failed after it worked
The API secret was probably deleted in GA4. Remove the property in Call Bullet and add it again.
"A numeric Property ID is required"
You used the G- measurement ID where a property number was expected. Signing in with Google picks the right one automatically.
I can't see my property in the list
The Google account needs Editor access to that property. Ask the owner to add you, or use Add manually.

Questions

Do I need to create an API secret in GA4?
No. When you sign in with Google, Call Bullet creates it for you. The paste option is there if you can't give access.
Will calls double count?
No. Each call, property and event is sent once and recorded here.