Skip to main content
PandaDocCRMs and lead management

PandaDoc conversion tracking: Google Ads sees the inquiry, never the signed proposal

Your ads get credit for a contact form, then the deal closes weeks later when the client signs a PandaDoc proposal that Google Ads and Meta never hear about. We carry the ad click into the document's metadata and send completed and paid proposals back with their grand total, so bidding chases signatures instead of quote requests. For agencies, coaches, security firms and loan brokers who sell on a written proposal, that signature is the sale.

Free30 minutesNo obligation

PandaDoc · what breaks

What goes wrong when PandaDoc closes the deal your ads started

  1. 01

    "Google Ads counts the inquiry, not the signed contract"

    The proposal signed in PandaDoc later never reaches the ad account, so Smart Bidding learns from people who asked for a quote and vanished, and keeps spending to find more of them.

  2. 02

    "The client signs on PandaDoc's page, not my website"

    A shared proposal link opens a signing page on PandaDoc's domain, not your site. Your site's Pixel and Google tag aren't on it, and there's no thank-you page of yours to fire a conversion from.

  3. 03

    "A small one-off project and a year-long retainer look identical"

    Every PandaDoc document carries a grand total, but none of it reaches your ad accounts. Bidding pays as much to win the next small job as the next big contract.

  4. 04

    "Signed isn't the same as paid"

    PandaDoc tracks completed, waiting for payment and paid as separate statuses. Count signatures alone and a client who never pays the deposit still looks like revenue.

PandaDoc · the fix

What changes after the fix — PandaDoc

  • Campaigns judged by signed proposals

    Each completed PandaDoc document is matched to the ad click that started it, so you see which keywords and audiences produce clients.

  • Bidding weighted by contract size

    The document's grand total and currency go out with the conversion, so Google Ads and Meta can favor the searches that bring retainers over small one-offs.

  • Deposits and declines counted honestly

    Paid documents count as sales. Declined proposals, and ones that expire unsigned, never reach your conversion columns.

PandaDoc · architecture

What PandaDoc actually lets you hook into

From PandaDoc's own developer and help docs. Its integrations list names CRMs, accounting and chat tools but no Google Ads, GA4 or Meta connection, so we build the ad side.

  1. 1

    Webhooks on document status changes

    document_state_changed fires when a document moves to sent, viewed, completed, paid and other statuses. Its payload includes the document's metadata, grand total, status and recipients.

  2. 2

    Metadata on Forms

    An embedded PandaDoc Form accepts up to 10 metadata key-value pairs in its JavaScript config, or as URL-encoded JSON in the link, which is where the click ID goes.

  3. 3

    Browser messages from embedded Forms and signing

    The Form iframe posts loaded, started and completed messages to your page. Embedded signing sessions post session_view.document.completed from app.pandadoc.com.

  4. 4

    Redirect after signing

    Set per recipient through the API on Business and Enterprise plans (not during a trial), HTTPS only, and not available for embedded signing.

  5. 5

    Zapier and HubSpot

    Zapier offers Document Sent, Status Changed, Completed and Paid triggers. The HubSpot integration can move a deal to Closed won or Closed lost on document status, but neither sends anything to ad platforms.

PandaDoc · diagnose

Where PandaDoc tracking breaks, in diagnostic order

The usual fault: the ad click never reaches the document, so a signature has nothing to match.

  1. 01

    Check document metadata for a click ID

    If recent completed documents have empty metadata, nothing downstream can attribute them.

  2. 02

    Find where proposals get created

    HubSpot or Salesforce, the API, a Form or by hand: each route carries the click ID differently.

  3. 03

    Confirm which event marks completion

    With two signers, a co-owner finishing their part is recipient_completed, not a finished document.

  4. 04

    Compare completed, waiting for payment and paid

    If deposits run through a gateway in PandaDoc, decide which status is the sale.

  5. 05

    Look for missed and repeated webhooks

    PandaDoc doesn't retry a failed delivery, and a manual resend repeats the same event. We log each X-PandaDoc-Webhook-Event-Id so a signature is never lost or counted twice.

PandaDoc · prove

The QA evidence — PandaDoc

Run on a real proposal sent from your PandaDoc workspace to a test recipient who arrived through a tagged ad URL.

Source of truth

PandaDoc documents list: completed and paid documents by date, with grand total, recipients and metadata

  • A test inquiry from an ad-tagged URL, with the click ID visible in the resulting document's metadata.
  • Exactly one Google Ads and one Meta conversion per completed document, with matching value and currency.
  • A paid test document reported once as a purchase, at the value agreed for your payment setup.
  • A declined test proposal confirmed absent from every conversion column.
  • Completed documents reconciled one by one against both ad platforms over a closed window.
  • The same check repeated 30 days later and after any template or CRM integration change.

PandaDoc · free audit

What we check in the free audit

  • Check document metadata for a click ID
  • Find where proposals get created
  • Confirm which event marks completion
  • Compare completed, waiting for payment and paid
  • Look for missed and repeated webhooks

Checked against

PandaDoc documents list: completed and paid documents by date, with grand total, recipients and metadata

Get my free conversion tracking audit

Free30 minutesNo obligation

PandaDoc · when not to buy

When you don't need this on PandaDoc

We'll tell you on the call if you're one of these.

  • If most of your proposals go to referrals or existing clients and ads bring in very little, there's nothing to attribute.
  • If you sign only a handful of ad-sourced proposals a month, uploading them to Google Ads by hand from your PandaDoc list may be enough.
  • If your CRM already sends closed-won deals to your ad accounts with the click ID and value, and the counts match your completed PandaDoc documents, leave it alone.
  • If you don't run Google or Meta ads yet, there's no click to match a signature to.

PandaDoc · what we deliver

The event map on PandaDoc

  • Inquiry captured with the click ID

    Your site form, or an embedded PandaDoc Form, stores the gclid, gbraid or fbclid so it can travel into the document.

  • Proposal sent

    The document.sent status, logged for pipeline reporting. Not used for bidding.

  • Proposal viewed

    The document.viewed status, a buying signal we report but keep out of optimization.

  • Proposal completed

    The primary conversion once every recipient has finished, valued at the document's grand total. A single signer finishing (recipient_completed) doesn't count.

  • Payment received

    The document.paid status, sent as a purchase. Before it goes live we confirm whether your payment block collects the full total or a deposit, and value it to match.

  • Declined, voided or deleted

    Excluded from conversions, and corrected after the fact wherever the ad platform allows it.

Written guarantee

95%+ tracking accuracy

Measured against PandaDoc documents list: completed and paid documents by date, with grand total, recipients and metadata. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

PandaDoc questions, answered

Not that we found in PandaDoc's documentation. Completed documents reach the ad platforms through a webhook or Zapier and a server-side container.

Free · 30 min

Find out which ads end in a signed PandaDoc proposal

Free30 minutesNo obligation