Pulse
Call TrackingReal-Time BiddingRouting PlansIVR BuilderPay Per CallConversation AIAI Quality AnalysisPost-Call TranscriptionFraud IntelligenceAI Real-Time ReportsPayout ManagementClosed-Loop Attribution
Signal
Virtual NumbersNumber IntelligenceAI Predictive DialerCampaignsVisual IVRAI Voice AgentsRevenue BuilderWorkforce ManagementCommunication HubCall Management
Company
PricingBlogCase StudiesIntegrationsEventsAbout UsCareersContact
Sign in
Pulse — pulse.teldrip.comSignal — signal.teldrip.com
Try PulseTry Signal freeTalk to sales
Back to blog
Attribution14 min read· Mar 2026

Closing the loop: server-side conversion APIs in 2026

First-party call signals are the new currency for Google Enhanced Conversions and Meta CAPI. We break down the architectures we've shipped across 90+ US revenue teams, the latency budgets that actually matter, and the three signal types that move bid prices.

The performance marketing stack has been running on borrowed time for three years. Third-party cookies are dead in Chrome. Safari's ITP capped first-party JS cookies at seven days in 2023. And yet the default call-tracking setup at most US revenue teams still fires a client-side pixel after a call, crosses its fingers that the attribution matches, and reconciles manually at month-end. We've seen this across 90+ teams. The fix is server-side conversion APIs — and the architecture is more straightforward than most engineers expect.

Ad Click
Call Connected
Signal Webhook
Normalize + Dedup
Google CAPI / Meta CAPI

The three signal types that actually move bid prices

Not every call signal is equal from a bid-learning perspective. Google and Meta's respective algorithms weight conversion signals by recency, reliability, and whether they correlate with revenue outcomes. After instrumenting hundreds of campaigns, we've landed on three signal types that consistently drive bid-price changes:

01
Call connected (micro-conversion)— fired the moment a call is answered by a live agent. Latency budget: <15 seconds from ring. This signal trains the algorithm on intent even when calls don't convert, which is essential for verticals with <10% close rates.
02
Duration threshold (qualified call) — fired when a call passes your vertical-specific quality floor (typically 90–180 seconds for insurance, 120–240 seconds for mortgage). This is the signal most teams are missing. Without it, the algorithm can't distinguish answered spam from a real prospect.
03
Closed outcome (revenue conversion) — fired when a downstream CRM event confirms a sale, funded loan, or bound policy. This is the gold signal. Latency can be 24–72 hours. Google's Enhanced Conversions handles this gracefully; Meta's CAPI has a 48-hour attribution window that needs explicit configuration.

Latency budgets: the spec sheet no one publishes

Both Google and Meta are opaque about the exact windows, but signal testing across 40+ accounts gives us a practical working spec:

Signal TypeGoogle (GEC)Meta (CAPI)Impact if late
Call connected<60 seconds<90 secondsMissed impression → bid model degrades
Duration threshold<5 minutes<10 minutesSignal discounted by recency algorithm
Closed outcomeUp to 90 daysUp to 28 daysMinimal — offline conversions tolerate delay

The implication: your webhook infrastructure needs to be synchronous on the call-connected signal. A 5-minute batch job will miss the window on the highest-value micro-conversion signal you're sending. We process call-connected signals in under 800ms end-to-end — call platform event → normalization queue → CAPI push.

Architecture: the pipeline that works at scale

The pattern we've standardized across deployments has four stages. Each stage has a clear contract with the next, which means any component can be swapped without touching the rest of the pipeline:

  1. Event ingestion. Call events arrive via webhook from the telephony platform. We normalize caller ID, GCLID/FBCLID, call duration, and outcome status into a common schema. GCLIDs expire in 90 days — if you're storing them client-side in a cookie with a 7-day ITP cap, you're losing attribution. Store the GCLID server-side on first touch.
  2. Deduplication. The same call can generate multiple events (answered, qualified, transferred, closed). Your CAPI pipeline must deduplicate on a stable event ID or you'll inflate conversions and confuse the algorithm. We use a composite key of call_sid + event_type + timestamp_floor(5s).
  3. Signal enrichment. Before pushing to Google or Meta, enrich the event with hashed PII (email, phone for enhanced matching) if you have consent. Enhanced matching improves the match rate by 15–25% in our deployments, directly improving the signal quality score each platform reports.
  4. Platform push + retry. Push to each platform's API with exponential backoff on transient errors. Both APIs return a match rate estimate — log this per campaign and alert if it drops below your baseline. A drop in match rate before a drop in ROAS is the leading indicator you want.

The CPL tax: what bad attribution actually costs

We can quantify the cost of running without server-side conversion APIs. Across the mortgage and insurance accounts we've migrated, the before/after looks consistent:

−34%Average CPL drop after closing the loop
+22%Improvement in match rate with enhanced matching
3–5 wksTypical bid algorithm re-learning window

The mechanism: when Google and Meta can't see your conversions, Smart Bidding optimizes toward proxy signals — ad clicks, form fills, call attempts — instead of actual revenue events. Campaigns drift toward traffic that looks like it converts but doesn't. Closing the loop pulls the algorithm back toward buyers.

If your platform is already generating call events but you haven't pushed them to your ad platforms server-side, you're paying a CPL tax today. The migration typically takes 2–3 engineering days. The algorithm re-learning takes 3–5 weeks. The math almost always works.

Related articles
Pay-Per-Call

Setting RTB floor prices by vertical: a 2026 playbook

12 min readFeb 2026
Conversation AI

AI voice agents + human escalation, without the uncanny valley

10 min readJan 2026
Call Tracking

Dynamic Number Insertion in a privacy-first browser world

9 min readJan 2026

Ready to close the loop on your
revenue stack?

Teldrip Pulse handles call tracking, RTB and attribution. Signal handles telephony, AI voice agents and outbound. Spin up a free trial in minutes.

Try Pulse Try Signal freeTalk to sales
7-day free trial on Signal · Cancel any time