Recover the leads
you're already paying for.
Guides on partial lead capture, form-abandonment recovery, AI lead qualification, and ad attribution from PartialLeads.
Connect Claude & ChatGPT to Your PartialLeads Data (MCP Setup)
Ask Claude or ChatGPT about your own leads, traffic sources, pages, and revenue — in plain language — through a secure, read-only MCP connection. Here's how to create a key and connect your tool in a couple of minutes.
More articles
How Do You Track a WooCommerce Subscriptions Business End to End?
Treat it as two connected jobs. Acquisition: capture every click ID (gclid, gbraid, wbraid, fbclid) at the first pageview, persist it server-side, and attach it to the customer at signup. Recurring: ingest the subscription itself as a durable record — status, billing period, recurring total, renewal ledger — fed by server webhooks plus a periodic census, never by browser pixels. Renewals fire from WordPress cron with the browser closed, so no client-side tracker can ever see them. Classify every order as initial, renewal, or refund before anything reaches an ad platform.
Tracking & AttributionHow Do You Track Booked Appointments to Google and Meta Ads?
Track booked appointments by capturing every click ID (gclid, gbraid, wbraid, fbclid) at the first pageview, persisting them through every funnel step to the CRM contact record, and firing the booking as a server-side conversion: a click-ID-keyed offline import to Google Ads and a deduplicated CAPI event to Meta. Appointment funnels break browser tracking because the conversion happens on a calendar — often on a different page, subdomain, or day than the ad click.
Tracking & AttributionHow Do You Track WooCommerce Purchases Server-Side to Meta?
Track WooCommerce purchases server-side by firing the Purchase event from the order record — via webhook or plugin hook — rather than from the thank-you page. Browser-fired Purchase events fail whenever the thank-you page doesn't load (payment-gateway redirects, closed tabs, ad blockers). The correct architecture captures Meta's identifiers (fbclid, _fbc, _fbp, email) client-side at first touch, stores them, and dispatches every event server-side via the Conversions API with hashed match data and deduplicated event IDs.
Tracking & AttributionHow Do You Fix Meta Pixel Tracking on a GoHighLevel Funnel?
Meta Pixel tracking breaks on GoHighLevel funnels for three platform-specific reasons: GHL forms render inside iframes where the parent page's attribution (fbclid, UTMs) doesn't exist, the Pixel commonly ends up installed in multiple places at once (funnel settings, page code, workflows) causing duplicate events, and workflow-triggered conversions fire without the match data Meta needs. Clean CPL requires one Pixel install, attribution relayed across the iframe boundary, and deduplicated server-side events carrying stored identifiers.
Tracking & AttributionHow Do You Fix Meta CAPI Tracking on Shopify?
Meta CAPI tracking breaks on Shopify in platform-specific ways: the sandboxed Custom Pixel returns empty user-agents on a large share of sessions, regenerates visitor IDs mid-journey, and blocks the cookie access that match quality depends on — while Shopify's native Meta integration double-fires events against custom setups. Fixing it means working with Shopify's sandbox, not around it: webhook-based purchase events, user-agent fallbacks, identity stitching for regenerated IDs, and deterministic event deduplication.
Tracking & AttributionDo You Need Stape and GTM for Meta Conversions API?
No — Stape plus server-side Google Tag Manager is one way to run the Meta Conversions API, not the only way. It's the right choice for teams already invested in GTM who want multi-vendor tag orchestration. For businesses whose actual goal is accurate lead and purchase tracking to Meta, a managed capture-and-dispatch pipeline delivers the same server-side events without the container hosting, the freelancer setup fee, or the ongoing maintenance.
Tracking & AttributionHow Do You Track SaaS Trial Conversions to Meta Ads?
SaaS trial conversions break Meta tracking because the Subscribe event fires in Stripe days after the trial started — with no browser session, no Pixel, and no click ID in sight. The fix is a three-part architecture: capture Meta's identifiers (fbclid, _fbc, _fbp) plus email at the first visit, persist them against the customer record, and fire the delayed conversion server-side from the Stripe webhook with those stored identifiers attached and a shared event_id for deduplication.
Tracking & AttributionHow Do You Fix a Low EMQ Score?
Low Event Match Quality (EMQ) scores come from incomplete or incorrectly hashed customer-data parameters on your CAPI events. To raise EMQ above 8, send hashed email and phone on every event, include _fbp and _fbc cookies, and follow Meta's normalization rules (lowercase, trim, E.164 phone format) before hashing. The fix is usually a payload change, not a stack rebuild.
Tracking & AttributionWhy Is My Meta CAPI Not Deduplicating? A Debug Guide
Meta CAPI deduplicates browser Pixel events and server CAPI events that share the same event_id, event_name, and arrive within roughly 48 hours of each other. If your events are duplicating, the cause is almost always one of three things: mismatched event_id between Pixel and CAPI, mismatched event_name, or a missing _fbp/_fbc cookie on the CAPI event. This article walks through the diagnostic in order.
Lead Capture & FormsHow Much Money Are You Losing to Form Abandonment?
Form abandonment cost equals form starts × abandonment rate × close rate × average deal value. A mid-market business losing 65% of 1,000 monthly form starts at a 20% close rate and a $5,000 deal value is leaving roughly $650,000 of total pipeline value on the table monthly — but only 5–15% is realistically recoverable through partial-lead capture and recovery sequences. The honest math separates "lost" from "recoverable."
Tracking & AttributionHow Do You Audit Your iOS Attribution Gap?
The iOS attribution gap is the discrepancy between actual backend iOS conversions and conversions reported by your ad platform, typically costing Pixel-only setups 30% to 60% of their data. Audit the gap by reconciling CRM backend user-agent data against platform-reported attribution, introducing a self-reported source field on the form, or executing a server-side holdout test.
Lead Capture & FormsWhy Are My Form Completion Rates Dropping?
Form completion rates drop for a small set of repeatable reasons: a recent form change (added fields, layout, validation), a shift in traffic source (different audience), a mobile-share increase, broken tracking that's now counting bot traffic, or a SERP change affecting the audience landing on the form. The audit is usually faster than the fix — work through the diagnostic in order.
Tracking & Attributiongclid vs fbclid vs UTM Parameters: What's the Difference?
Click IDs (gclid, fbclid) are platform-specific identifiers automatically appended to ad URLs that tie a click to a later conversion. UTM parameters (utm_source, utm_medium, utm_campaign) are manually-set tags that work across analytics tools. Click IDs power platform-side attribution; UTMs power cross-channel analytics. Most setups need both — captured and stored alongside the lead.
Tracking & AttributionMeta Pixel vs Conversions API: Do You Really Need Both?
Meta's official guidance recommends running both the Pixel and the Conversions API (CAPI) for redundancy and deduplication. In practice, CAPI carries the dominant share of useful match data — when both events fire for the same conversion, Meta uses the richer event, which is almost always CAPI. A well-configured API-only setup with managed _fbp and _fbc cookie handling captures the same matching quality without the dual-tracking complexity.
Tracking & AttributionWhat Is Event Match Quality (EMQ)?
Event Match Quality (EMQ) is Meta's score from 0 to 10 for how well a conversion event matches a real Meta user. Scores of 8–10 are great; below 7 is poor. Higher EMQ improves ad optimization, audience matching, and reporting accuracy. The score is driven by the customer-data parameters you send (hashed email, phone, name, fbp/fbc) and how correctly they're hashed.
Lead Capture & FormsHow Do You Capture a Partial Form Lead in JavaScript?
Capture a partial form lead by attaching an input event listener to each form field, debouncing the captured data, and sending it to your backend with navigator.sendBeacon() on the pagehide event. This pattern records every field as the user types and reliably sends the last snapshot when the user leaves the page — no tag manager or vendor script required.
Lead Capture & FormsWhat's the Truth About the Average Form Abandonment Rate?
The average form abandonment rate across industries in 2026 is approximately 67.9%, with B2C lead-capture forms at 72.3% and ecommerce account-creation forms at 71.1%. Industry-specific rates range from ~50% for short newsletter signups to 81% for travel forms. Recovery rates of 5–15% from partial-lead capture sequences turn a portion of the loss back into completed leads.
Tracking & AttributionWhat Is the Conversions API (CAPI)?
The Conversions API (CAPI) is Meta's server-side conversion tracking method. Instead of relying on browser-based pixel events, CAPI sends conversion data directly from your server to Meta's servers, bypassing browser limits like iOS App Tracking Transparency and ad blockers. CAPI is meant to be paired with the Meta Pixel, not replace it.
Lead GenerationWhat Is a Partial Lead?
A partial lead is a website visitor who began entering information into a lead form but didn't complete the submission. The data they typed before leaving — typically email, name, or phone — is captured by a tracking layer and stored for follow-up. Partial leads turn form abandonment from a total loss into a recoverable conversion path.