Skip to main content
Square → Google AdsIntegration guide

Connecting Square to Google Ads

Square holds the transaction, and for most Square businesses the majority of those transactions are a card tapped at a counter with no browser anywhere near them. Google Ads knows what you spent and which click it came from, and nothing at all about what happened afterwards. The join between them succeeds or fails on one thing: whether the GCLID reaches the Square payment or order before the conversion happens, because Google Ads can only match a conversion it can tie back to a click it recognizes.

Free30 minutesNo obligation

Specific to this pair

Square to Google Ads: online orders and booked visits, not walk-ins

Track Square Online orders as website conversions or GA4 imports. For appointment businesses, carry the gclid through Square Appointments and upload the payment to an import-type action within 90 days, matched to the appointment rather than the card profile. Walk-ins cannot join a click; check store sales eligibility. Send refunds as retractions.

Google Ads splits Square revenue into three cases. Square Online orders can be tracked with a website conversion, either through Square Online's own integrations if they cover Google Ads for your site (check) or by importing purchase from GA4. Appointment-led businesses, such as salons, repair shops and studios, can carry the gclid through a Square Appointments booking and upload the eventual payment to an import-type conversion action, provided it lands within 90 days of the click.

Walk-in counter payments are the third case and cannot be joined to a click. Google does offer store sales measurement for in-store revenue, but it depends on matched customer data and has eligibility requirements; check whether your account qualifies before assuming it covers Square counter sales. For most local Square businesses the honest setup is online orders and booked visits in Google Ads, with everything else reported from Square by channel.

The Square-specific break: the appointment is booked under one email, the customer pays at the counter with a card Square links to a different customer profile, and the gclid stays on the booking. Match the payment to the appointment, not the card profile. For enhanced conversions, hash the email from the booking, and send refunds and voids as retraction adjustments.

Square → Google Ads · what breaks

Why this join usually fails — Square → Google Ads

  1. 01

    The GCLID never reaches Square

    Square Online checkout is hosted, so the identifier must be carried deliberately rather than by cookie. For in-person payments there is no identifier at all unless the customer booked an appointment or is in the customer directory — a walk-in who taps a card cannot be joined to an ad click by anyone.

  2. 02

    Most of the revenue has no browser

    A card at a terminal has no click, no session and no identifier. That is a boundary to measure rather than a bug to fix, and the honest deliverable includes how much of your revenue sits outside it.

  3. 03

    The conversion action is the wrong type

    Uploads against a standard website conversion action fail. The action has to be created as 'Import' — and existing actions cannot be converted, so this is discovered late and requires starting a new action with no history.

  4. 04

    Nothing reconciles afterwards

    Google Ads reports uploads in Goals → Conversions → Uploads, with rows accepted and rows failed. A green result means the file parsed, not that the clicks matched. The number to watch is how many conversions actually appear against campaigns afterwards.

Square → Google Ads · the fix

What working looks like — Square → Google Ads

  • The GCLID on every transaction

  • Conversions arriving in Google Ads

    Conversions appear against the campaign, ad group and keyword that produced the click, with the value you sent — which is what lets Smart Bidding optimize toward revenue instead of toward form fills.

  • Reconciled against the source

Square → Google Ads · architecture

How Square and Google Ads actually connect

  1. 1

    Square holds the truth

    Square records every payment with its amount, channel and, where the customer is identified, a link to the customer directory. That directory is the only bridge between a counter payment and anything that happened online.

  2. 2

    Google Ads needs a click to match

    Google Ads matches an uploaded conversion back to a click using the GCLID. The conversion action must be created as an import type — an upload against a website-tag conversion action is rejected. Uploads must also land inside Google's window: the click has to be within the last 90 days.

  3. 3

    The identifier is the bridge

    The GCLID, captured at the visit and carried into the Square payment or order.

  4. 4

    The event source decides reliability

    Subscribe to payment and order events and send from your server. This covers online orders cleanly, and covers in-person payments only for the share you can join to an identity.

  5. 5

    Deduplication at the destination

    Google deduplicates on the combination of GCLID, conversion action and conversion time. Uploading the same click twice against the same action at the same timestamp is rejected rather than double-counted, but uploading it against a second conversion action counts twice — which is how most double-counting here actually happens.

Square → Google Ads · normal or broken

Working vs. broken, side by side — Square → Google Ads

Normal, not a fault

  • The GCLID present on the transaction

  • Sent from the Square payment webhook

  • Deduplicated correctly

    Google deduplicates on the combination of GCLID, conversion action and conversion time. Uploading the same click twice against the same action at the same timestamp is rejected rather than double-counted, but uploading it against a second conversion action counts twice — which is how most double-counting here actually happens.

  • Reconciles with the source

Actually broken

  • The GCLID missing on most records

    Square Online checkout is hosted, so the identifier must be carried deliberately rather than by cookie. For in-person payments there is no identifier at all unless the customer booked an appointment or is in the customer directory — a walk-in who taps a card cannot be joined to an ad click by anyone.

  • Sent from the browser

    A card at a terminal has no click, no session and no identifier. That is a boundary to measure rather than a bug to fix, and the honest deliverable includes how much of your revenue sits outside it.

  • Counted twice, or not at all

    Uploads against a standard website conversion action fail. The action has to be created as 'Import' — and existing actions cannot be converted, so this is discovered late and requires starting a new action with no history.

  • Nobody has reconciled it

Square → Google Ads · diagnose

Diagnostic order — Square → Google Ads

  1. 01

    Count transactions carrying the GCLID

  2. 02

    Follow one real conversion end to end

  3. 03

    Split Square revenue by channel before anything else

    Online versus in-person. Every subsequent number depends on that split, and blending them makes both unreadable.

  4. 04

    Check the conversion action type and the upload diagnostics

    In Google Ads, Goals → Conversions → Uploads shows every upload with its error rows. Read the errors rather than the success count; a file can import successfully with most rows rejected.

  5. 05

    Read the match rate, not the success message

    Google Ads reports uploads in Goals → Conversions → Uploads, with rows accepted and rows failed. A green result means the file parsed, not that the clicks matched. The number to watch is how many conversions actually appear against campaigns afterwards.

Square → Google Ads · prove

How it gets proven — Square → Google Ads

Source of truth

Square's transaction list, split by channel — online and in-person are different questions.

  • The GCLID confirmed present on a live transaction.
  • The Uploads diagnostics read row by row, with the accepted count reconciled against conversions appearing in campaign reporting.
  • The in-person join rate measured and stated as a number before any coverage claim is made.

Square → Google Ads · free audit

What we check in the free audit

  • Count transactions carrying the GCLID
  • Follow one real conversion end to end
  • Split Square revenue by channel before anything else
  • Check the conversion action type and the upload diagnostics
  • Read the match rate, not the success message

Checked against

Square's transaction list, split by channel — online and in-person are different questions.

Get my free conversion tracking audit

Free30 minutesNo obligation

Square → Google Ads · when not to buy

When you don't need this — Square → Google Ads

  • Measure identifier coverage yourself first — pull your last hundred transactions and count how many carry the GCLID.
  • If nearly all your revenue is in person with no appointments and no identified customers, there is very little here to attribute and we will say so rather than build a bridge to nothing.
  • If your sales close inside a few days and your website tag already reports accurately, you may not need offline import at all. It exists to solve the delay between click and revenue.

Square → Google Ads · what we deliver

What gets built — Square → Google Ads

  • Identifier capture into Square

    Capture the click identifier and carry it into Square Online checkout, and for in-person work use an appointment booking as the bridge so the eventual payment can be joined through the customer record.

  • Event source: the Square payment webhook

    Subscribe to payment and order events and send from your server. This covers online orders cleanly, and covers in-person payments only for the share you can join to an identity.

  • Dispatch to Google Ads

    Offline Conversion Import through the Google Ads API, or a scheduled upload. Enhanced conversions for leads where GCLID coverage is poor and you have consented email addresses.

  • Reversals where they exist

    Square exposes refunds clearly, and in hospitality and services voids and comps are frequent enough that wiring the reversal matters.

Written guarantee

95%+ tracking accuracy

Measured against Square's transaction list, split by channel — online and in-person are different questions.. Miss it and we keep working at no cost.

Get my free conversion tracking audit

From $400 · See packages

FAQ

Square → Google Ads questions, answered

Not by click, unless the customer booked or ordered online first and the payment is linked to that record. Google's store sales measurement has eligibility requirements, so check whether your account qualifies.

Free · 30 min

Get Square and Google Ads joined properly

Free30 minutesNo obligation