Skip to content
Proofbell

Built · and what comes next

What it does today, and what comes next.

Everything on this page is working now. What comes next is listed at the bottom with the same prominence, because you will ask anyway and it is better that you read it here.

FIVE STATIONS · THE FIVE SHEETS BELOW · SAMPLE NUMBERS 01242 ··· 914 01 · THE TAG one line of script swapped per visitor ··· 914 ··· 915 FREE FREE SIZED FROM CONCURRENCY 02 · NUMBERS a pool, or a static number warned before exhaustion RECORDED · TRANSCRIBED 03 · THE CALL call flows, hours, voicemail spam excluded from your bill RECONCILES TO £0.00 04 · ATTRIBUTION six models, computed on read a 90-day default lookback GOOGLE ADS GA4 · LINKEDIN · PARTIAL XERO · NOT CONNECTABLE YET 05 · CONVERSIONS OUT google ads, microsoft, meta every push logged, accepted or not

10 entries

Call tracking

POOL · FOUR NUMBERS ··· 914 ··· 915 FREE FREE VISITOR A VISITOR B PEAK · FOUR AT ONCE POOL SIZED FROM MEASURED CONCURRENCY FLAGGED SPAM · 0M 41S NOT BILLED
Sample · a pool sized from measured concurrency

Dynamic number insertion

One line of script swaps the number per visitor. Matches on the last nine digits, so any formatting works, and preserves the format you used.

Choose how the number is written

Six formats — spaced, hyphenated, international, with or without a bracketed trunk digit — plus the default that just pours the tracked digits into whatever shape your page already used. Unavailable formats are disabled with the reason rather than hidden.

Dynamic number pools

Keyword-level attribution where it is worth paying for, static numbers where it is not — per source, in the same account.

Pool sizing from your own traffic

We compute the pool size you need from measured concurrency and warn before exhaustion, rather than letting attribution quietly degrade.

A tag-installed check you can run yourself

Fetches your own home page and says in a sentence whether it found your tag, found another website's tag by mistake, or found nothing — a check on one page, not proof the tag is on every page.

Call flows

Simultaneous, sequential, priority, weighted and round-robin ringing, opening hours in your own timezone, geographic routing, IVR menus, greetings, whispers, voicemail and call caps. A guided form composes the common arrangement — hours, a ring group, voicemail — and the rest is authored as a graph. There is no drag-and-drop editor.

Account templates for a vertical

Seven built-in templates — home improvement, legal, local services, healthcare, dental, automotive, B2B software — plus a minimal one, each seeding pool sizing and a qualifying-call threshold tuned to that business. A one-time seed, not a link back to the template, so a client's own tuning is never silently overwritten.

A business with more than one company

Every paid single-company plan can now hold up to three separate accounts — its own billing, its own team, its own calls that never mix with the others. A second brand of the same business is still a website, not an account; this is for someone who runs two.

Spam filtering

Scored and excluded from your bill and your reports. Under per-answered-call pricing that is the difference between trust and a dispute.

Recordings, permissioned separately

Encrypted at rest. “Can listen to recordings” and “can see revenue” are different permissions, because a client often needs one and not the other.

4 entries

Attribution

FIRST CLICK LAST CLICK LAST NON-DIRECT LINEAR TIME DECAY POSITION BASED MARKOV · SCALE ± 6% CREDIT TO PAID SEARCH · SAME MONTH
Sample · one month, six models, one answer each

Six models, switchable on read

First click, last click, last non-direct, linear, time decay and position based. Credit is computed when you ask, never baked in, so you can flip models and see the difference.

Data-driven attribution — on Scale

A Markov model derives credit from your own journeys using the removal effect, instead of a rule someone picked. It reports confidence intervals and falls back to position-based when there is not enough data — with the UI saying so. It and the budget scenario planner are what Scale adds; the six models above are on Pro and below.

Journeys that do not expire early

A 90-day default lookback, configurable further. Short windows are the commonest hidden cause of a channel looking worse than it is.

Reconciliation, in every report

Fractional credit means totals drift. Each report carries a line that must come to zero, because you will check our numbers against your own.

2 entries

Transcripts

TRANSCRIPT · REDACTED AT THE BOUNDARY CARD NUMBER REMOVED FROM THE SAME PASS SENTIMENT TOPICS CALLER INTENT WITH A CONFIDENCE SCORE SHORT SUMMARY
Sample · one transcript, and what the same pass produces

A transcript on every paid plan

Deepgram transcribes each recorded call, redacted at the boundary — card numbers and the like never reach storage as text, only a salted fingerprint that links the same one across calls. No raw transcript text is ever kept.

Sentiment, topics, caller intent and a short summary

Worked out from the same pass as the transcript, by the same supplier, so no second company gets a copy of your calls and nothing reprices. Intent is shown as a labelled signal with a confidence score, not a verdict.

10 entries

Revenue and activation

CSV · CLOSED DEALS ROW 01 ROW 02 ROW 03 MATCHED TO CALLS UNMATCHED · EXPLAINED GOOGLE ADS MICROSOFT META GA4 PARTIAL LINKEDIN PARTIAL XERO NOT CONNECTABLE YET DASHED · THE LIMIT IS ON ITS CARD
Sample · revenue in, conversions out

Import revenue by CSV

Match closed deals to the calls that started them. Every unmatched row is explained and shown rather than dropped, and the unattributed total is reported as a number.

HubSpot

Deal values and stages read straight from the portal, matched to calls on email or phone, with a dry run that writes nothing so you can see what would happen first.

Push to Google Ads

Conversions and values uploaded via Data Manager, with the conversion action created for you and its settings verified — including the one that silently discards your values.

Push to Microsoft Advertising

Offline conversions on the msclkid, with the conversion goal created for you, plus restatements when a deal grows and retractions when it is lost.

Push to Meta

Offline conversions to a dataset on hashed details. Meta accepts events for six days and never confirms a match, and the card says both before you rely on it.

Send calls into GA4

partial

A lead event lands in your own GA4 property, matched to the visitor's GA4 cookie. It cannot be corrected or withdrawn once sent, and Google gives it only 72 hours after the call, so a deal that closes later than that cannot reach GA4 at all.

Push to LinkedIn Ads

partial

Offline conversions to LinkedIn's Conversions API, for B2B campaigns. LinkedIn has no phone identifier of any kind, so a call reaches it only when the visitor arrived by clicking a LinkedIn ad or a connected CRM supplies their email.

Xero

not connectable yet

The invoice mapping is built, including credit notes and the reference-field match that keeps a sale from being counted twice when a CRM holds the same one. There is no connect flow behind it yet, so nothing runs today.

Salesforce

not connectable yet

OAuth, a SOQL builder and the opportunity-to-revenue mapping are built and tested. There is no connect button and no sync yet, so from your side nothing has changed.

An audit trail for every push

What was sent, when, accepted or rejected, and why. Match rates are shown to you rather than discovered later in the ad platform.

6 entries

Notifications and getting data out

ONE CALL EVENT ONE CALL EMAIL EVERY PLAN SLACK FROM GROWTH WEBHOOK SIGNED · REPLAYABLE RECORDING NEVER IN THE PAYLOAD
One call event · the recording never travels with it

Alert rules by email and Slack

A rule fires on a missed call, a first-time caller, a long call, or a value threshold. Email is on every paid plan and the free one; Slack — with @here, @channel or a named person — is included from Growth. Every alert can show or hide the caller's number.

Signed webhooks, with a delivery log

Every event is HMAC-signed and retried with backoff for two days if your endpoint is down. Failed deliveries are listed with the status code and can be replayed unchanged. Included from Growth.

A webhook secret you can keep without ever seeing it again

Shown once, in a panel you must acknowledge before it clears from the screen. Losing it means rotating, not recovering — the same guarantee that protects anyone who later gets into your account.

Scheduled email reports

A cadence and a recipient list per website: calls, conversions and revenue, sent without anybody opening the dashboard.

Warehouse sync

A CSV-and-manifest export to your own bucket, ready to load into BigQuery, Snowflake or Redshift with the MERGE the docs give you. Included on Scale and every agency tier.

API keys, scoped to a website, an account or a whole agency

Permissions are chosen per key and a key can never do more than the person who created it. Included from Pro upwards and on every agency plan, with a hosted reference at /docs/api-reference/ describing every endpoint's permission and scope.

4 entries

Running it

PER ANSWERED CALL · NOT PER MINUTE 6M 12S · ANSWERED BILLED 2M 48S · ANSWERED BILLED 0M 09S · HANG-UP NOT BILLED FLAGGED SPAM NOT BILLED SAME PRICE, ANY LENGTH CONSENT GATED IN THE PIPELINE DRY RUN BY DEFAULT AUDIT LOG IMMUTABLE A NEW INTEGRATION SENDS NOTHING UNTIL YOU TURN DRY RUN OFF
Sample · what a bill counts, and what never leaves

Per answered call, not per minute

A twelve-minute enquiry costs the same as a two-minute one. Short hang-ups and detected spam are excluded.

Consent enforced in the pipeline

Tracking and activation are both gated on consent state, so an identifier cannot reach an ad platform for someone whose consent does not allow it.

Dry run by default

A new integration sends nothing until you turn it off, so a misconfiguration cannot corrupt live bidding data before anyone has looked at what it would send.

Audit log

Configuration changes, permission changes and recording access, immutably logged and visible to account admins.

Before the roadmap

A feature grid that hides what it does not do is a trap for the first prospect who finds out. We would rather you found it here.

What comes next

Always improving. Here is what comes next.

Five things we are building, each described by what it will do. None of them is in the product today, and we give no dates — if one of them is the reason you are shopping, we would rather you knew where it stands before you pay for a plan.

FIVE THINGS PLANNED NEXT CALL SCORING · AGENT RATING MARKETING MIX MODELLING IMPRESSION ATTRIBUTION FORM AND CHAT TRACKING SMS AND AN AI VOICE AGENT
Drawn first, built next
Call scoring and agent rating planned
Call scoring will grade a conversation against criteria you set, and rate the person who took it. Today the transcript already carries sentiment, topics, caller intent and a short summary — see Transcripts above — and the grade is the layer that goes on top.
Marketing mix modelling planned
Marketing mix modelling will weigh spend against outcome across every channel at once. It runs on years of spend history, which is an input that cannot be backfilled, so it arrives as that history accumulates. The budget planner that is built today allocates against measured cost per conversion.
Impression attribution planned
Impression attribution will credit the campaigns a visitor saw and did not click, alongside the ones they did. Journeys are click-based today.
Form and chat tracking planned
Form and chat tracking will attribute a submitted form or a chat conversation the same way a call is attributed today. The tag already captures the session either way, so the visit behind one is on record ready for it.
SMS and an AI voice agent planned
SMS will let a tracked number carry a text conversation, and a voice agent will answer and qualify a call when nobody picks up. Both are on the list; calls answered by your own people are what the product handles now.

Free plan · no card · no time limit

Find out which campaigns are actually ringing.

Install the tag on a free account and watch your web traffic attribute itself to the campaigns that produced it. Add a plan when you want a tracking number, and the calls arrive with the campaign already attached.