Skip to content
Proofbell

All connections

Proofbell connects to two different kinds of system, and the difference matters more than the logos. Ad platforms receive call revenue from Proofbell, so their bidding can optimise on it. CRMs supply revenue to Proofbell, so there is something to send. Until revenue reaches Proofbell — from a CRM, a CSV import or the API — an ad platform has nothing to optimise on.

What is connectable today

Platform Direction How you connect State
Google Ads Receives revenue Google sign-in, then choose the advertiser account and conversion action Working — full guide
Microsoft Advertising Receives revenue Microsoft sign-in, then choose the account and conversion goal Working
Meta Receives revenue Facebook Login for Business, or a system user token Working
Google Analytics 4 Receives calls as events Measurement ID and API secret, pasted — no Google sign-in Working
HubSpot Supplies revenue HubSpot sign-in, then closed deals are matched to calls Working
Slack Receives alerts Slack sign-in by someone who can install an app in your workspace Working — how alerts use it
LinkedIn Ads Receives revenue LinkedIn sign-in, then choose the ad account and conversion rule Partly working — LinkedIn has no phone identifier, so a call reaches it only if the visitor clicked a LinkedIn ad or a connected CRM supplies their email address
Salesforce Supplies revenue Not started
Xero Supplies invoiced revenue Not started

Finding your way around the Connections screen

Connections in your dashboard is a grid of cards grouped under Advertising, CRM, Analytics, Finance and Notifications. Each card carries the platform's mark, one line on what connecting it achieves, and a status chip:

  • Connected — it is set up and doing its job.
  • Not finished — you signed in, but something it needs is still unchosen: an advertiser account, a conversion action, a dataset. Nothing is being sent yet.
  • Not connected — available, and nobody has connected it.
  • Needs keys — we have not finished setting this platform up on our side. There is nothing for you to do; tell us if you want it.
  • Coming soon — designed, not built. The card says so rather than hiding.

Connect opens that platform's own page, where everything for it lives — signing in, choosing the account, turning dry run off, and disconnecting. Once it is connected the same button reads Settings and goes to the same place, so there is one page per connection and you do not have to remember which of two screens a setting was on.

Platforms that need you to sign in — Google Ads, Microsoft Advertising, Meta, LinkedIn, HubSpot and Slack — hand you to the platform's own site to approve access, and then hand you straight back to that connection's page in the dashboard with the result at the top of it: connected, or the reason it did not finish. If you cancel on the platform, or it refuses, you are returned the same way and told why in the platform's own words. Nothing is left on a screen somewhere else for you to find your way back from.

Each card states its own readiness, and it and this page are meant to agree — if they ever disagree, the dashboard is right and this page is out of date.

Connecting Google Analytics 4

GA4 is the only destination needing no Google sign-in, because the credentials belong to your property rather than to us. Both values come from GA4 under Admin → Data streams → your web stream:

  • The measurement ID, which looks like G-ABCDEFGHIJ. It is on the stream itself. Take care not to paste the property ID, which is a plain number.
  • A Measurement Protocol API secret, under Measurement Protocol API secrets on the same screen. You create it once.

Calls arrive as a generate_lead event by default, which is what Google Ads expects when importing a lead from GA4. Collection goes via the EU endpoint unless you turn that off.

Two things about GA4 that catch people out

GA4 cannot tell us your credentials are wrong. Its collection endpoint answers success for any measurement ID and any secret, and its validation endpoint ignores both — a deliberately made-up ID validates exactly like a real one. There is no request we can make, ever, that distinguishes a working pair from a typo. So after your first live call, open Reports → Realtime in GA4 and look. If nothing appears, the credentials are wrong, and no error anywhere will say so.

GA4 only accepts an event for 72 hours after the call. That is far shorter than the ad platforms allow, and it is the reason a CSV of last month's revenue can reach Google Ads and miss GA4 entirely. If GA4 matters to you, get revenue in sooner.

Dry run, and why every connection starts in it

A new connection sends nothing. It records what it would send, so you can look at the push history before anything reaches a live account. Turning dry run off is a separate, deliberate action on that connection's own page.

This is not caution for its own sake: a conversion upload cannot be retracted. Once a platform has a conversion with a value attached, it is in that account's bidding history. Sending a test figure to a real ad account is a thing you cannot undo, so the product makes it a decision rather than a default.

Checking that conversions are actually arriving

The Conversion delivery panel on the connections page shows what happened to every conversion we sent, per platform, over the last 30 days. It is the answer to "is Google actually receiving these", and it is worth a look after you turn dry run off.

Most of what you see there is normal. Skipped means we did not send a conversion because the call carried nothing that platform could match it to — no click id, no usable identifier — which is ordinary for calls from people who did not arrive from an advert. Refused means the platform rejected it, and sending the same thing again would be refused again. Retrying and waiting both mean it is still in progress.

Given up is the one to tell us about. It means a conversion failed enough times that nothing will try again, so the platform never received it — and unlike the others, it will not resolve on its own. The panel shows the most recent reason underneath, and sending us that line is usually enough for us to say what happened.

A waiting figure with an old date beside it is the other thing worth mentioning: a queue that is moving has recent items, and one that has stalled has items from last week.

How many platforms your plan includes

The number of connected ad platforms is capped by plan; the cap and its exact wording are on What each plan includes. Reconnecting a platform you already have never counts as a new one, so fixing an expired token cannot be blocked by the cap.

What about BigQuery, Snowflake or Redshift?

Those are not connections in this sense — we hold no credential for your warehouse and there is no sign-in button. Your warehouse fetches from us. See Warehouse sync.

Next Connecting Google Ads