Get your Square Online tracking to 95%+ accuracy guaranteed in writing.
Square Online's default tracking covers GA and a barebones Pixel install. There's no CAPI, no advanced matching, and no real way to feed iOS-recovered events back to your ad platforms — until you add a webhook gateway. We do exactly that, plus a clean event spec.
Free30 minutesNo obligation
Square Online · what breaks
Why Square Online stores under-attribute
- 01
Browser-only Pixel
iOS / ITP gap.
- 02
No CAPI by default
Server-side recovery is not built-in.
- 03
Limited code injection
Custom tag firing is gated by plan.
Square Online · the fix
Outcomes — Square Online
Webhook-driven Purchase
Reliable server-side firing.
Meta CAPI + Google EC
Dedup-clean.
GA4 e-com schema
All events typed.
Square Online · architecture
How a Square Online order should reach the ad platforms
Square Online is built for businesses that also sell in person, and that dual nature is the thing that most often confuses the reporting.
- 1
Click identifiers captured at first touch
Click IDs are captured in the site's custom code at landing and stored in a first-party cookie, since Square's hosted checkout does not carry query parameters forward.
- 2
The browser sends the fast, fragile copy
Square Online's code injection fires browsing and cart events. Checkout is hosted and script access there is limited.
- 3
The order itself is the source of truth
The Square order, delivered by the payment or order webhook, is the truth — and it is the only place where online and in-person sales can be told apart reliably.
- 4
A server container sends the authoritative event
The Square webhook posts to a GTM server container on your own subdomain, keyed on the Square order ID, filtered to online orders only.
- 5
Customer identity raises match quality
The order carries buyer email and phone where collected. Hashed server-side, these give the online channel its match quality.
Square Online · events
The event set we build on Square Online, and where each one comes from
The critical filter on Square is source: in-person sales must be excluded from ad conversions or every campaign looks better than it is.
| Event | Fires when, on Square Online | Key parameters | Sent from |
|---|---|---|---|
| view_item | A product page renders | item_id, value, currency, event_id | Browser + server, deduped |
| add_to_cart | The cart update completes | item_id, quantity, value, currency, event_id | Browser + server, deduped |
| begin_checkout | The hosted checkout is entered | value, currency, num_items, event_id | Browser + server, deduped |
| purchase | The Square order webhook fires for an online order specifically | order_id, value, currency, items[], hashed email/phone/name/address, event_id | Server authoritative |
| refund | A refund is processed in Square | order_id, value, currency | Server only |
Square Online · normal or broken
Square's online and in-person split
Nearly every Square Online reporting problem traces back to the two channels being mixed.
Normal, not a fault
Square's totals exceeding your online conversions
Square counts in-person sales too. That difference is the point of the platform, not a tracking gap.
Limited script access in checkout
Square's hosted checkout restricts this. Expected.
Ad platforms report more conversions than you have orders
Meta credits a 7-day click and 1-day view; Google credits on click date. Two platforms can each claim the same sale. Compare each one to your order records separately and never add them together.
Recent days always look worse than they finish
Conversions are credited back to the date of the click, so yesterday's return on ad spend is understated and will keep improving for several days. This is attribution working, not data arriving late.
Actually broken
In-person sales counted as ad conversions
Every campaign's return is inflated by walk-in revenue it had nothing to do with.
Purchase tracked only from the confirmation page
Orders where the buyer closes the tab after paying are never counted.
No order ID on the conversion
Without it, nothing can be reconciled against Square and duplicates are undetectable.
Square Online · prove
How we prove the Square Online build is correct
The tag firing proves the tag fires. These prove the numbers are right.
Source of truth
Square order and payment records
- Online and in-person orders confirmed separated, with in-person excluded from ad conversions.
- The Square webhook confirmed delivering with the order ID present.
- Reconciliation run against online orders only.
- Purchase count within a few percent of square order and payment records for a fully closed week, matched on order ID rather than on totals.
- No order ID appearing twice in any platform's event log.
- Deduplication confirmed at every destination that supports it.
- Test and staff orders excluded, with the exclusion confirmed active rather than merely configured.
- The same reconciliation repeated 30 days later, because a setup that works once and then drifts is the harder failure to catch.
Square Online · free audit
What we check in the free audit
- Browser-only Pixel
- No CAPI by default
- Limited code injection
Checked against
Square order and payment records
Free30 minutesNo obligation
Square Online · when not to buy
When a Square Online rebuild is not what you need
We would rather say this now than three weeks into an engagement.
- Most of your revenue is in-person. Online ad tracking is a small part of your picture.
- You spend under about $1,000 a month online.
- You are moving to a dedicated ecommerce platform this quarter.
Square Online · what we deliver
Deliverables — Square Online
Webhook gateway
1st-party server-side GTM
Site code injection
Where plan permits
Meta CAPI + Google EC
All tested
QA + handover
Notion runbook
Written guarantee
95%+ tracking accuracy
Measured against Square order and payment records. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Foundation pixel install for your Square Online store. Honest disclosure: this is a starting point only. If you spend $1K+/month on paid media you should be on the 1st-party server-side tier — rather than quote you a recovery percentage, we'll show you how to measure your own gap: compare what the platforms reported against the orders in your backend for the same week. That ratio is the entire argument, and it's yours to check — see trackingconsulting.com/measurement-accuracy-methodology.
- One-time fee · zero monthly · zero SaaS lock-in
- Square Online dataLayer (clean spec)
- GA4 e-commerce events
- Meta Pixel · Google Ads tag
- TikTok Pixel · Microsoft UET
- Consent Mode v2 banner integration
- QA test orders + 7-day support
- No CAPI · no iOS recovery
1st-party server-side
Recommended$800One-time fee · most popular
The done-for-you package every Square Online store running paid ads should start with. We build the entire 1st-party server-side stack on your subdomain — Meta, Google, TikTok, Microsoft, LinkedIn all fed from the server. Recovers the conversions iOS, Safari ITP, ad blockers and cookie deprecation hide today. You don't lift a finger. Built in 2–4 days · accurate data in 7 days.
- One-time fee · save vs SaaS subscriptions over 5 years
- Fully recovered + built in 2–4 days · accurate data in 7 days
- Everything in browser-side starter
- 1st-party server-side GTM (your subdomain)
- Meta CAPI · full advanced matching · 8+ EMQ
- Google Enhanced Conversions (Web + Leads)
- TikTok Events API · Microsoft UET server
- Deterministic browser ↔ server deduplication
- Live EMQ verification + screenshots
- Notion runbook + 30-day support · zero recurring
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid-media channel running 1st-party server-side, end-to-end. For Square Online brands spending $30K+/month who can no longer afford attribution leaks. Pay once. Own everything. Includes Pinterest + Snap + Reddit + LinkedIn CAPI, Klaviyo identity stitching, BigQuery + Looker Studio.
- One-time fee · save 6-figure SaaS subscriptions over 5 years
- Everything in 1st-party server-side tier
- Pinterest · Snapchat · Reddit · LinkedIn · X CAPIs
- Klaviyo identity stitching (if used)
- BigQuery export (server logs + GA4)
- Looker Studio attribution dashboard (branded)
- Multi-region / multi-currency / EU residency
- GDPR-audit-ready Consent Mode v2 wiring
- 60-day support · optional retainer · no lock-in
FAQ
Square Online questions, answered
Performance or higher (for webhook + custom code access).
More on Square Online
- GuideBrowser vs Server Tracking: Which Events Belong Where
- GuideWhat an Ecommerce Tracking Rebuild Actually Involves (Start to Finish)
- Square Online → Google AdsConnecting Square Online to Google Ads
- Square Online → MetaConnecting Square Online to Meta Conversions API
- Square Online → GA4Connecting Square Online to GA4
