PaySimple conversion tracking: your ads see form fills, PaySimple sees the deposits
You pay for the click, the estimate form comes in, and weeks later the deposit lands in PaySimple through an emailed invoice or a payment form. Google Ads and Meta never see that money, so they keep optimizing for form fills. We connect PaySimple's payment webhooks to the original ad click, so each settled deposit reports back to the campaign that started the job, once and at its real amount.
Free30 minutesNo obligation
PaySimple · what breaks
What goes wrong when PaySimple holds the money
- 01
"Google says we're getting leads, but who actually paid?"
The deposit is collected days later on a PaySimple invoice, far from your site. Ads only learn about form fills, so bidding chases tire-kickers who never sign a window or siding contract.
- 02
Every installment looks like a new sale
A foundation repair job on a PaySimple payment plan charges month after month. If each charge reports as a conversion, one customer inflates your return on ad spend for a year.
- 03
ACH payments that bounce later still count
PaySimple's payment_created event shows an ACH payment as Posted the moment it's entered, and a return can still come back after that. Report it then and you've told Google and Meta about money you never kept.
- 04
No link between the payment and the ad
A PaySimple payment carries a customer, an amount and an optional reference ID, not a click ID. Without a bridge, there's no way to say which campaign booked the basement waterproofing job.
PaySimple · the fix
What changes after the fix — PaySimple
Campaigns optimize for paid jobs
Settled PaySimple deposits flow back to Google Ads and Meta, so bidding learns from homeowners who actually paid.
One customer, one acquisition value
The first deposit or contract payment is the conversion. Later charges that PaySimple tags as coming from a payment plan or recurring schedule go to your revenue reports, not your ad conversions.
Bad payments corrected
Refunds and voids are retracted or restated in Google Ads inside its 54-day adjustment window. Meta can't take back a purchase once it's sent, so ACH payments wait for settlement before Meta hears about them.
PaySimple · architecture
What PaySimple actually lets you hook into
PaySimple's developer docs cover webhooks and an API in detail, but its public pages list no Google Ads, GA4, Tag Manager or Meta Pixel connection, so the build runs server-side.
- 1
Payment webhooks
Documented events include payment_created, payment_failed, payment_refunded, payment_voided, payment_returned and payment_settled, each with a unique event_id and an HMAC-SHA256 signature to verify. Missed deliveries retry hourly for 72 hours.
- 2
Lightweight payloads, full lookups
Each webhook carries IDs, the amount, the payment type and, on payment_created, whether the charge came from a payment plan, recurring schedule or subscription. Customer details come from a follow-up API call, which is where matching to the lead happens.
- 3
Merchant reference ID
Hosted payment links accept an external_id of up to 50 characters that shows in checkout and reports, a clean place for your lead or job number.
- 4
Payment forms and the Buy Now Button
Branded forms handle one-time, recurring and plan payments, and the button is pasted into your site. Where checkout loads and whether it returns to your site, we confirm on a test payment.
- 5
No documented return URL
PaySimple's hosted payment link docs describe a receipt email and webhooks after payment, not a redirect back to your site, so a browser thank-you tag isn't the plan.
PaySimple · diagnose
Where PaySimple tracking breaks, in the order we check
The likelier fault on PaySimple isn't double counting. It's blindness: the payment happens on a PaySimple invoice, form or link after the ad platforms stopped watching.
- 01
Is the click ID saved on the lead?
If your estimate form drops the GCLID, nothing downstream can be matched.
- 02
Can a PaySimple customer be traced to a lead?
We check whether email, phone or a job number survives from the CRM into the PaySimple customer record.
- 03
Which payment counts as the conversion?
Deposit, final invoice or first installment, decided once and written down.
- 04
When does ACH report?
After payment_settled, not at creation, so returns don't slip through.
- 05
Are refunds and returns corrected?
We confirm each one reaches Google Ads as a retraction within 54 days, and that ACH returns are caught before anything goes to Meta, which has no retraction.
PaySimple · prove
The QA evidence — PaySimple
Checked with a real payment through the same PaySimple path your customers use.
Source of truth
PaySimple payment records: settled payments by customer and date, with amount, payment type, plan status and any refund or return
- A test lead from an ad-tagged URL, with the click ID confirmed in your CRM.
- A test PaySimple payment that fires one verified webhook and one server event.
- Exactly one conversion in Google Ads and in Meta Events Manager for that payment.
- A second plan installment confirmed absent from the acquisition conversion.
- A refund confirmed as a retraction in Google Ads.
- A closed month of PaySimple payments reconciled customer by customer.
- The whole check repeated 30 days later.
PaySimple · free audit
What we check in the free audit
- Is the click ID saved on the lead?
- Can a PaySimple customer be traced to a lead?
- Which payment counts as the conversion?
- When does ACH report?
- Are refunds and returns corrected?
Checked against
PaySimple payment records: settled payments by customer and date, with amount, payment type, plan status and any refund or return
Free30 minutesNo obligation
PaySimple · when not to buy
When you don't need this on PaySimple
Plenty of PaySimple accounts don't need a build, and we'll say so on the call.
- If most of your PaySimple payments are recurring memberships from existing customers, ad attribution won't change your decisions much.
- If you don't run Google or Meta ads yet, start with lead tracking on your site and add payments later.
- If your crew collects by check or cash in the field, PaySimple doesn't send a payment_created webhook for those, so track the signed contract in your CRM instead.
- If you're an addiction treatment center, patient payment data shouldn't go to ad platforms at all; we'll scope a lead-level setup that keeps it out.
PaySimple · what we deliver
The event map on PaySimple
Estimate request
The form or call on your site, with the Google click ID and Meta browser ID saved against the lead.
Qualified appointment
Marked in your CRM or sheet when the in-home estimate is set, so ads can learn before money moves.
Deposit paid
PaySimple payment_created on a card, valued from the payment amount and matched to the lead.
Deposit settled
payment_settled, which PaySimple sends when funds are expected to have reached your bank; ACH payments wait for it before they report.
Plan installment
Later charges whose payment_source is payment_plan or recurring_payment, logged for revenue and excluded from the acquisition conversion.
Failed, voided, refunded or returned
payment_failed is never sent; voids, refunds and returns trigger corrections.
Written guarantee
95%+ tracking accuracy
Measured against PaySimple payment records: settled payments by customer and date, with amount, payment type, plan status and any refund or return. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
PaySimple questions, answered
Not that we could find in PaySimple's public docs. What it does document is payment webhooks and an API, which is enough to send paid conversions server-side to both platforms.
Only if something sends it. We capture the click ID when the lead arrives, match the PaySimple payment to that lead, and upload it as an offline conversion.
The first qualifying payment is the conversion. Later recurring charges on the same customer are logged for revenue reporting and never sent as new ad conversions.
ACH payments report only after PaySimple's payment_settled event. If a return or refund comes later, we retract or restate it in Google Ads within its 54-day adjustment window.
Yes, that's where it helps most. Weeks between click and deposit is normal for window replacement, siding and foundation repair, and the match runs on your saved lead records, not a browser cookie that may be gone by then.
No. The webhook subscription is created through PaySimple's API 5 with your account's API credentials, and we host the listener on your subdomain. We confirm your PaySimple account has API access on the audit call.
More on PaySimple
- Enhanced ConversionsEnhanced Conversions enrich the conversions that already fire. First we make sur…
- Meta CAPIA one-click CAPI integration sends thin events. That's why your Event Match Qual…
- Cross-Domain TrackingYour checkout provider is the best performing traffic source in your GA4 account…
RELATED GUIDES
Booking tools beside PaySimple, and what their bookings feed
- InstaMedYour ads can't tell a new patient from an old bill paid on InstaMed. We fix that.
- GreenSkyGreenSky conversion tracking for the financed jobs your ads never get credit for
- Regions Home Improvement FinancingRegions funds your biggest roofs and remodels. Your ads only ever see the first form fill.
- WisetackYour ads sold the financed job. Wisetack never tells them.
- Gift Up!Meta and GA4 disagree with your Gift Up! sales? Count every gift card once
- Alphaeon CreditYour Alphaeon patients finance the procedure. Your ad accounts only saw a form fill.
- QuickBooks PaymentsYour ads count form fills while the money lands in QuickBooks Payments
- SynchronyYour biggest tickets go on a Synchrony card. Google Ads can't see one of them.
Free · 30 min
Find out which ads become PaySimple deposits
Free30 minutesNo obligation
