Completions

For demand generation + corporate marketing + RevOps leadership

A prospect clicks a Meta ad. Visits the Phoenix location page. Opens chat. Submits a Typeform four days later. Your CRM logs the lead as direct, no UTM. The Phoenix franchisee blames marketing. The Meta ad gets credit for nothing.

Typeform, HubSpot Forms, Pardot, Marketo, Unbounce, Leadpages, Webflow Forms, Gravity Forms, Formstack, Wufoo, JotForm, Tally ship the form-builder + CRM-sync primitive. Drift, Intercom, Tidio, Crisp, LiveChat, HubSpot Chat ship conversational capture. Meta Lead Ads, Google Lead Form Extension Smart Forms, LinkedIn Lead Gen Forms, TikTok Lead Generation, Pinterest Lead Ads ship ad-platform native lead forms with platform-side attribution. CallRail and CallTrackingMetrics ship phone-source attribution. None of them unify across sources, persist UTM server-side across multi-session journeys, deduplicate against the existing CRM, and route on submit to the correct franchisee per location + per form-question + per UTM-city. The multi-source ingestion + UTM persistence + multi-session stitching + per-source dedup + per-location routing + per-source quality differentiation is operator-side architecture above all of them.

By Jay Christopher11 min read

Or take the 3-question shape diagnostic first — no email required.

What this gets you

  • Multi-source ingestion. Per-form (Typeform + HubSpot + Pardot + Marketo + Unbounce + Leadpages + Formstack) + per-chat (Drift + Intercom + Tidio + Crisp + LiveChat) + per-ad (Meta Lead Ads + Google Lead Form Extension + LinkedIn Lead Gen Forms + TikTok + Pinterest) + per-phone + per-partner all normalize to per- unified-lead-record.
  • Server-side UTM persistence. Per-prospect server-side cookie + per-prospect first-party storage + per-form-fire UTM injection preserves per-prospect first-touch + last-touch + per-touchpoint-array across per-multi-session.
  • Multi-session stitching. Per-prospect cross-device + cross-browser + cross- day session-merge via per-prospect-email + per- phone + per-cookie-ID + per-fingerprint per- identity-resolution.
  • Per-source dedup at ingest. Per-existing-CRM detection + per-multi-source merge rules per-prospect-email + per-phone + per- cookie-ID + per-fingerprint per-cross-source dedup.
  • Per-location routing on submit. Per-prospect geo-IP + per-form-question + per-UTM- city per-franchisee-CRM-mapping. Per-prospect- routed per-CRM-record per-franchisee with per-full- touchpoint-array attribution intact (cross-link to /crm-record-creation).
  • Per-source quality differentiation. Per-form-quality typically > per-chat-quality > per-ad-quality scoring weights feed downstream per-source-aware enrichment + scoring (cross-link to /lead-enrichment).

Per-portfolio per-channel-attribution-completeness runs 40 to 60 percent. Per-corporate-marketing per- quarter per-channel-mix decision misallocates per- budget. Per-franchisees blame per-corporate-marketing for per-no-attribution per-prospects.

A 140-location multi-vertical operator runs per-form (per-Typeform on per-contact-us page + per-HubSpot per-landing-page + per-Marketo per-gated-whitepaper) + per-chat (per-Drift per-homepage + per-Intercom per-product-page) + per-ads (per-Meta-Lead-Ads + per- Google-Lead-Form-Extension + per-LinkedIn-Lead-Gen- Forms) + per-phone (per-CallRail + per- CallTrackingMetrics) + per-partner (per-channel- partner per-CRM).

Per-source captures per-source schema + per-source UTM persistence + per-source multi-session continuity + per-source per-attribution-payload differently. Per-Typeform per-form-fire receives per-prospect per-form-data but per-prospect-server- side-cookie-UTM from per-Meta-ad-click absent due to per-Typeform per-server-side-cookie not configured. Per-Marketo per-form-fire preserves per-UTM-source via per-Marketo-MunchkinJS per-client-side cookie but loses per-multi-session continuity per-day-3 per-prospect-return-visit.

Per-prospect per-journey example: per-Meta-ad-click day-0 → per-Phoenix-location-page-visit day-0 → per- Drift-chat-open day-0 (per-prospect-data partial) → per-prospect leaves → per-prospect returns day-4 → per-Typeform per-contact-us submit day-4. Per-CRM per-prospect-record per-source-label = direct, no UTM (per-Typeform fired per-prospect-record without per-Meta-attribution payload).

Per-Phoenix-franchisee per-CRM-record-arrival per- source = direct. Per-Phoenix-franchisee per-quarter meeting blames per-corporate-marketing for per-no- attribution per-prospect. Per-Meta-ad per-attribution- credit = zero. Per-corporate-marketing per-quarter per-channel-mix decision per-Meta budget reallocates away from per-Meta toward per-channels showing per- attribution.

Per-portfolio per-quarter per-channel-attribution- completeness runs 40-60 percent (per-portfolio per- prospect-population with per-full-multi-touch- attribution percentage). Per-portfolio per-quarter per-lead-source-distribution per-CRM runs distorted by per-source-attribution-loss. Per-portfolio per- quarter per-channel-budget allocation runs sub- optimal versus actual per-channel per-attributed- revenue.

Per-portfolio per-franchisee per-pre-qualified- context per-CRM-record-arrival runs sub-baseline. Per-franchisee per-pre-qualified-prospect close-rate runs sub-baseline. Per-portfolio per-quarter per- franchisee per-corporate-marketing trust runs sub- baseline.

Multi-source attribution-preserving lead ingestion at AI-runtime closes the gap. Per-prospect server- side cookie + first-party storage + per-form-fire UTM injection + per-multi-session stitching + per- source dedup + per-location routing per-franchisee- CRM. Per-portfolio per-quarter per-channel- attribution-completeness scales to 90+ percent. Per- portfolio per-quarter per-channel-budget allocation aligns to actual per-channel per-attributed-revenue. Per-franchisee per-pre-qualified-context per-arrival completeness improves. Per-franchisee per-pre- qualified-lead close-rate improves.

What is in market — and what each category leaves to you

Per-form-builder + per-chat + per-ads-to-CRM + per- phone primitives are mature. The multi-source ingestion + server-side UTM persistence + multi- session stitching + per-source dedup + per-location routing + per-source quality differentiation at multi- location-operator scale is operator-side architecture.

Form builders — Typeform, HubSpot Forms, Pardot, Marketo, Unbounce, Leadpages, Webflow Forms, Gravity Forms, Formstack, Wufoo, JotForm, Tally

Excellent at per-form design + per-form submission + per-form-CRM-sync + per-form A/B testing + per- form progressive profiling. The multi-source ingestion across per-form + per-chat + per-ad- platform-native + per-phone + per-partner, the server-side UTM persistence, the multi-session stitching, the per-source dedup, the per-location routing per-franchisee-CRM, the per-source quality differentiation at multi-location-operator scale are operator-side architecture above the per-form- builder primitive.

Conversational capture — Drift, Intercom, Tidio, Crisp, LiveChat, HubSpot Chat

Strong at per-conversation-bot + per-prospect engagement + per-chat-lead-handoff to per-CRM. The multi-source ingestion combining per-chat with per-form + per-ad-platform-native + per-phone + per-partner, the server-side UTM persistence across per-chat-session + per-form-submit, the per-source quality differentiation, the per- location routing per-franchisee sit above the per- chat primitive.

Ads-to-CRM — Meta Lead Ads, Google Lead Form Extension, LinkedIn Lead Gen Forms, TikTok Lead Generation, Pinterest Lead Ads

Strong at per-ad-platform-native-form + per- platform per-ad-source attribution + per-platform- CRM-sync (per-Meta Conversions API + per-Google Enhanced Conversions + per-LinkedIn Conversions API). The multi-source ingestion combining per- ad-platform-native with per-form + per-chat + per- phone + per-partner, the per-cross-platform attribution stitching, the per-location routing per-franchisee sit above the per-ad-platform- native primitive.

Per-form-vendor-only lead capture status quo

The status quo at most multi-location operators running 3-8 per-form-vendors + 1-3 per-chat- vendors + 2-4 per-ad-platform-native-forms + 1-2 per-phone-tracking + per-partner-CRMs. Per-source captures per-source schema + per-source UTM persistence differently. Per-Typeform per-Marketo per-Meta-Lead-Ads per-Drift per-CRM-record per- source-attribution diverges per-source. Per- portfolio per-quarter per-channel-attribution- completeness runs 40-60 percent. Per-portfolio per-corporate-marketing per-channel-budget misallocates. Per-franchisee per-pre-qualified- prospect close-rate runs sub-baseline.

The pipeline, end to end

  1. Position on the lead-scoring-routing agent. Multi-source-lead-ingestion is the Input stage of the 4-skill bundle on lead-scoring-routing. Sibling skills: firmographic-enrichment + behavioral- enrichment (Parallel-Enrich stages; cross-link to /lead-enrichment) + bant-scoring (Scoring stage; consumes enrichments) + crm-record-creation (Output stage; cross-link to /crm-record-creation).
  2. Per-prospect server-side UTM capture. Per-prospect per-page-visit per-server-side-Edge- Function captures per-prospect per-incoming-UTM (per-utm-source + per-utm-medium + per-utm-campaign + per-utm-content + per-utm-term + per-gclid + per- fbclid + per-msclkid + per-li_fat_id + per-ttclid) into per-prospect-first-party cookie.
  3. Per-prospect first-party storage + multi-session stitching. Per-prospect per-cookie-ID + per-prospect-email + per-prospect-phone + per-prospect-fingerprint per- cross-session merge. Per-prospect cross-device runs per-email + per-phone identity-resolution. Per- prospect cross-browser runs per-fingerprint + per- IP-cluster merge. Per-prospect cross-day runs per- cookie persistence per-30-day rolling.
  4. Per-source form-fire ingest. Per-form (Typeform + HubSpot + Pardot + Marketo + Unbounce + Leadpages + Formstack) per-form-fire webhook routes to per-portfolio multi-source- ingestion endpoint. Per-form-fire per-server-side- Edge-Function injects per-prospect first-touch + last-touch + per-touchpoint-array into per-form- payload.
  5. Per-source chat ingest. Per-chat (Drift + Intercom + Tidio + Crisp + LiveChat + HubSpot Chat) per-conversation-handoff webhook routes to per-portfolio ingestion endpoint. Per-chat-handoff per-server-side injects per- prospect first-touch + last-touch + per-touchpoint- array into per-chat-payload.
  6. Per-source ad-platform-native ingest. Per-Meta Lead Ads + per-Google Lead Form Extension + per-LinkedIn Lead Gen Forms + per-TikTok Lead Generation + per-Pinterest Lead Ads per-platform webhook + per-platform Conversions-API routes to per-portfolio ingestion endpoint. Per-ad-platform per-form-fire includes per-platform-native attribution payload + per-platform per-ad-ID.
  7. Per-source phone-call ingest. Per-phone (per-CallRail + per-CallTrackingMetrics + per-Invoca) per-call-completion webhook routes to per-portfolio ingestion endpoint. Per-call-completion includes per-call per-source attribution + per- tracked-number per-source-mapping.
  8. Per-source schema normalization. Per-source per-payload normalizes to per-unified- lead-record schema. Per-unified-record includes per- prospect-email + per-prospect-phone + per-prospect- first-name + per-prospect-last-name + per-prospect- touchpoint-array + per-prospect-first-touch + per- prospect-last-touch + per-prospect-source-original + per-prospect-source-quality-score + per-prospect- form-payload + per-prospect-progressive-profiling- completion.
  9. Per-source dedup at ingest. Per-unified-lead-record dedup runs per-prospect- email + per-phone + per-cookie-ID + per-fingerprint per-cross-source match. Per-existing-CRM detection runs per-existing-prospect-CRM-ID lookup. Per-multi- source merge runs per-existing-record per- touchpoint-array append + per-source-original-list append + per-source-quality-score recompute.
  10. Per-source spam filter. Per-unified-lead-record per-spam-filter runs per- honeypot + per-reCAPTCHA + per-IP-reputation + per- form-fingerprint per-4-layer filter. Per-spam-flagged routes to per-spam-quarantine. Per-non-spam routes to per-location routing.
  11. Per-location routing on submit. Per-prospect per-routing-decision runs per-form- explicit-answer (per-form-preferred-location field highest priority) + per-UTM-city per-utm-content (second priority) + per-geo-IP per-coordinate (fallback). Per-prospect-routed per-franchisee-CRM- instance per-franchisee-CRM-mapping (per-Salesforce + per-HubSpot + per-Pipedrive + per-Zoho per- franchisee).
  12. Per-source quality differentiation. Per-source-original per-quality-score weight configuration runs per-form-quality typically > per-chat-quality > per-ad-quality. Per-source- quality-score feeds downstream per-source-aware enrichment + per-source-aware scoring (sibling skills firmographic-enrichment + behavioral- enrichment + bant-scoring).
  13. Per-source GDPR + CCPA consent capture. Per-prospect per-form-fire per-explicit-consent capture + per-double-opt-in per-EU + per-CCPA per- California-prospect notice. Per-consent per-audit- trail records per-prospect per-consent-version + per- consent-timestamp + per-consent-jurisdiction.
  14. ROI measurement. Per-portfolio per-quarter per-channel-attribution- completeness. Per-portfolio per-quarter UTM- preservation rate. Per-portfolio per-quarter per- source dedup accuracy. Per-portfolio per-quarter per-location routing accuracy. Per-portfolio per- quarter per-channel budget reallocation lift. Per- franchisee per-quarter per-pre-qualified-lead-close- rate. Per-portfolio per-quarter per-spam-filter accuracy. Per-portfolio per-quarter per-GDPR per- CCPA consent-capture audit-trail completeness. ROI dominated by per-portfolio per-channel budget reallocation lift + per-channel-attribution- completeness + per-franchisee per-pre-qualified- close-rate + UTM-preservation.

Frequently asked

What is a lead capture form?

The surface where a prospect submits contact information, stated intent, and qualification fields. The surface comes in many forms across many vendors: page-embedded forms (Typeform, HubSpot Forms, Pardot Forms, Marketo Forms, Unbounce, Leadpages, Webflow Forms, Gravity Forms, Formstack, Wufoo, JotForm, Tally); conversational chat-bot capture (Drift, Intercom, Tidio, Crisp, LiveChat, HubSpot Chat); ad-platform native lead forms (Meta Lead Ads, Google Lead Form Extension Smart Forms, LinkedIn Lead Gen Forms, TikTok Lead Generation, Pinterest Lead Ads); phone-call recording (CallRail, CallTrackingMetrics); partner handoff via channel-partner CRMs; event registration; podcast conversion. Each surface ships its own schema, its own UTM persistence model, its own session-continuity assumption, and its own CRM-sync integration. The multi-source ingestion orchestration sits on top as the Input stage of a 4-skill lead-scoring-routing agent bundle (Input + Enrich + Score + Route) and runs per-source schema normalization to a unified lead record, server-side UTM persistence, multi-session stitching, per-source dedup, per-location routing, and per-source quality differentiation. That orchestration is the operator-side architecture above the per-source lead-capture-form primitive.

Why does single-vendor lead capture break down at multi-location attribution scale?

A 140-location multi-vertical operator runs Typeform on the contact-us page, HubSpot on landing pages, Marketo for gated whitepapers, Drift on the homepage, Intercom on product pages, Meta Lead Ads + Google Lead Form Extension + LinkedIn Lead Gen Forms on the paid side, CallRail and CallTrackingMetrics for phone, and channel-partner CRMs for partner handoffs. Each source captures schema, UTM persistence, multi-session continuity, and attribution payload differently. A real prospect journey: Meta ad click on Monday → Phoenix location page visit on Tuesday → Drift chat open on Wednesday → Typeform submit on Friday. The Typeform fires four days after the Meta ad click. Typeform receives the form data but the original Meta-ad UTM is absent because Typeform was not configured for server-side cookie persistence. The CRM record lands tagged as "direct, no UTM". The Phoenix franchisee sees direct in the CRM and blames corporate marketing for not driving attributed leads. The Meta ad gets credit for nothing in the attribution report. Corporate marketing makes the next quarter's channel-mix decision against distorted attribution, misallocating budget away from a working channel. Multi-source attribution-preserving lead ingestion with server-side UTM persistence and multi-session stitching closes the gap.

How is this different from Typeform, HubSpot Forms, Pardot, Marketo, Unbounce, Leadpages, Drift, Intercom, Meta Lead Ads, or Google Lead Form Extension?

Those platforms are excellent at the per-source primitive. Typeform, HubSpot Forms, Pardot, Marketo, Unbounce, Leadpages, Webflow Forms, Gravity Forms, and Formstack ship form-builder + form-design + form-submission + form-CRM-sync. Drift, Intercom, Tidio, Crisp, LiveChat, and HubSpot Chat ship conversation-bot + chat-lead-handoff. Meta Lead Ads, Google Lead Form Extension, LinkedIn Lead Gen Forms, TikTok Lead Generation, and Pinterest Lead Ads ship ad-platform native-form + platform-side ad-source attribution + platform-CRM-sync. None of them ship the cross-source orchestration. The operator-side architecture adds multi-source ingestion with per-source schema normalization to a unified lead record, server-side UTM persistence (server-side cookie + first-party storage + form-fire UTM injection), multi-session stitching (cross-device + cross-browser + cross-day session-merge), per-source dedup logic (existing-CRM detection + multi-source merge rules across email + phone + cookie-ID + fingerprint), per-location routing on submit (geo-IP + form-question + UTM-city × CRM-mapping per franchisee), per-source lead-quality differentiation (form-quality scoring typically weighted higher than chat-quality, weighted higher than ad-quality), and integration into the 4-skill lead-scoring-routing agent bundle (Input + Enrich + Score + Route closed-loop). The 4-skill orchestration is what sits on top of the per-source primitive.

How does server-side UTM persistence + multi-session stitching actually work?

Server-side UTM persistence runs per-prospect server-side cookie + per-prospect first-party storage. Per-prospect per-page-visit per-server-side-Edge-Function captures per-prospect per-incoming-UTM (per-utm-source + per-utm-medium + per-utm-campaign + per-utm-content + per-utm-term + per-gclid + per-fbclid + per-msclkid + per-li_fat_id + per-ttclid) into per-prospect-first-party cookie (per-prospect-cookie expires per-30-day rolling). Per-prospect per-subsequent-page-visit per-server-side-Edge-Function reads per-prospect-first-party cookie + maintains per-prospect first-touch + last-touch + per-touchpoint-array per-prospect-session. Per-prospect per-form-fire per-server-side per-form-submit injects per-prospect first-touch + last-touch + per-touchpoint-array into per-form-payload before per-form-CRM-sync. Multi-session stitching runs per-prospect per-cookie-ID + per-prospect-email + per-prospect-phone + per-prospect-fingerprint per-cross-session merge. Per-prospect cross-device runs per-prospect-email + per-prospect-phone identity-resolution per-cross-device-session merge. Per-prospect cross-browser runs per-prospect-fingerprint + per-prospect-IP-cluster + per-prospect-behavior-signature merge. Per-prospect cross-day runs per-prospect-cookie persistence per-30-day rolling per-cross-day-session merge.

How does per-location routing on submit work for franchise operations?

Per-location routing on submit handles per-prospect per-form-submit routing to per-franchisee per-CRM. Per-prospect per-form-submit triggers per-routing-decision request: per-prospect per-geo-IP per-coordinate → per-franchisee-territory mapping; per-prospect per-form-question (per-form including "preferred location" or "ZIP code" field) → per-franchisee-territory mapping; per-prospect per-UTM-city per-utm-content per-location-segment → per-franchisee-territory mapping. Per-prospect per-routing-decision composite ranks per-routing-signal per-priority (per-form-explicit-answer highest priority; per-UTM-city second; per-geo-IP fallback). Per-prospect per-routed-franchisee per-CRM-record creation runs per-franchisee-CRM-instance (per-franchisee may run per-different-CRM — per-Salesforce + per-HubSpot + per-Pipedrive + per-Zoho). Per-franchisee-CRM-mapping configures per-franchisee per-CRM-credentials + per-franchisee-CRM-record-shape + per-franchisee-routing-rule. Per-prospect-routed per-CRM-record per-franchisee includes per-prospect first-touch + last-touch + per-touchpoint-array + per-source-original + per-source-quality-score + per-per-prospect-progressive-profiling-completion.

How do you measure ROI on multi-source attribution-preserving lead ingestion?

Per-portfolio per-quarter per-channel-attribution-completeness (per-portfolio per-prospect-population with per-full-multi-touch-attribution percentage — target 90+ percent post-deployment vs 40-60 percent baseline). Per-portfolio per-quarter UTM-preservation rate (per-form-fire per-prospect-touchpoint-array UTM-completeness percentage — target 95+ percent). Per-portfolio per-quarter per-source dedup accuracy (per-multi-source per-prospect-merge per-correct-identity rate). Per-portfolio per-quarter per-location routing accuracy (per-prospect per-routed-franchisee per-correct-territory match rate). Per-portfolio per-quarter per-channel budget reallocation lift (per-corporate-marketing per-quarter per-channel-budget-vs-per-channel-attributed-revenue alignment improvement). Per-portfolio per-quarter per-franchisee per-pre-qualified-context delivery rate (per-franchisee per-CRM-record per-arrival per-touchpoint-completeness). Per-franchisee per-quarter pre-qualified-lead-close-rate improvement. Per-portfolio per-quarter per-spam-filter accuracy (per-form-submit per-spam-flag per-correct-true-positive + per-correct-true-negative rate). Per-portfolio per-quarter per-GDPR per-CCPA consent-capture audit-trail completeness. ROI is dominated by per-portfolio per-quarter per-channel budget reallocation lift + per-portfolio per-quarter per-channel-attribution-completeness + per-portfolio per-quarter per-franchisee per-pre-qualified-lead-close-rate + per-portfolio per-quarter UTM-preservation rate.

Hire the agent that ingests every per-source lead with attribution intact

The lead-scoring-routing agent owns the 4-skill bundle — multi-source-lead-ingestion (Input) + firmographic-enrichment + behavioral-enrichment (Parallel-Enrich) + bant-scoring (Scoring) + crm- record-creation (Output) — sitting on top of whichever form-builder (Typeform, HubSpot Forms, Pardot, Marketo, Unbounce, Leadpages, Webflow Forms, Gravity Forms, Formstack, Wufoo, JotForm, Tally), conversational capture (Drift, Intercom, Tidio, Crisp, LiveChat, HubSpot Chat), or ads-to-CRM source (Meta Lead Ads, Google Lead Form Extension, LinkedIn Lead Gen Forms, TikTok Lead Generation, Pinterest Lead Ads) you license downstream. Per-prospect server-side UTM capture + per-prospect first-party storage + multi- session stitching + per-source form-fire ingest + per- source chat ingest + per-source ad-platform-native ingest + per-source phone-call ingest + per-source schema normalization + per-source dedup at ingest + per-source spam filter + per-location routing on submit + per-source quality differentiation + GDPR + CCPA consent capture + audit trail.

We scope on the call and send a private checkout link after.

Related reading: Per-location lead enrichment · Multi-location CRM dedup · Attribution event emission