Connecting Square to LinkedIn 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. LinkedIn is where B2B advertisers pay the highest cost per click in the industry, which makes an unmeasured conversion more expensive here than almost anywhere. The join between them succeeds or fails on one thing: whether the li_fat_id click identifier reaches the Square payment or order before the conversion happens, because LinkedIn can only match a conversion it can tie back to a click it recognizes.
Free30 minutesNo obligation
Specific to this pair
Square and LinkedIn: only for invoiced B2B work
LinkedIn suits only service businesses invoicing other businesses through Square Invoices. Send the website quote request as the conversion with li_fat_id and hashed work email, and the paid invoice as a second conversion if inside the window, matched on the recipient's hashed email. Never send Square point-of-sale payments; small invoice volumes need only the Insight Tag.
Most Square revenue is consumer card payments at a counter, which LinkedIn neither drives nor can match. For a cafe, retailer or salon, this pair is not worth building.
The case that works is a service business that bills other businesses through Square Invoices: commercial cleaning, corporate catering, office IT support, trade contractors. There the LinkedIn conversion is the quote request on your website, sent with the li_fat_id captured at landing and the hashed work email. The paid invoice is the commercial outcome, and it can be sent as a second LinkedIn conversion if it lands inside the attribution window you set in Campaign Manager. Match it on the hashed email of the invoice recipient, which only works if that is the same person who filled in the form, so record the requester's email on the Square customer.
Do not send Square point-of-sale payments to LinkedIn at all, even from a B2B business that also has a retail counter. They would tell LinkedIn that its campaigns produce walk-in consumers. If invoices are a small slice of your Square revenue, the honest setup is the Insight Tag on the quote form and nothing server-side.
Square → LinkedIn · what breaks
Why this join usually fails — Square → LinkedIn
- 01
The li_fat_id click identifier 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.
- 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.
- 03
Long B2B cycles against LinkedIn's windows
LinkedIn's attribution windows are configurable and finite, while B2B deals close in quarters. A conversion that matters commercially frequently falls outside the window that LinkedIn will credit, and that gap has to be reported rather than argued about.
- 04
Nothing reconciles afterwards
Campaign Manager reports conversions against each defined conversion action with its own window. A successful API call is not a matched conversion — reconcile LinkedIn's reported conversions against your CRM for the same window, and expect a gap wherever your sales cycle exceeds the attribution setting.
Square → LinkedIn · the fix
What working looks like — Square → LinkedIn
The li_fat_id click identifier on every transaction
Conversions arriving in LinkedIn
Conversions appear in Campaign Manager against the campaign, with the value you sent, and feed LinkedIn's optimization and its company-level reporting.
Reconciled against the source
Square → LinkedIn · architecture
How Square and LinkedIn actually connect
- 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
LinkedIn Ads needs a click to match
LinkedIn matches server events on the click identifier where present and hashed user data otherwise. Conversions have to be defined in Campaign Manager before anything can be sent against them, and the definition includes the attribution window and counting rule.
- 3
The identifier is the bridge
The li_fat_id click identifier, captured at the visit and carried into the Square payment or order.
- 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
Deduplication at the destination
LinkedIn deduplicates on an event identifier shared between the Insight Tag and the Conversions API. Running both without pairing them doubles every conversion, which on LinkedIn's cost per click is an expensive error to leave running.
Square → LinkedIn · normal or broken
Working vs. broken, side by side — Square → LinkedIn
Normal, not a fault
The li_fat_id click identifier present on the transaction
Sent from the Square payment webhook
Deduplicated correctly
LinkedIn deduplicates on an event identifier shared between the Insight Tag and the Conversions API. Running both without pairing them doubles every conversion, which on LinkedIn's cost per click is an expensive error to leave running.
Reconciles with the source
Actually broken
The li_fat_id click identifier 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
LinkedIn's attribution windows are configurable and finite, while B2B deals close in quarters. A conversion that matters commercially frequently falls outside the window that LinkedIn will credit, and that gap has to be reported rather than argued about.
Nobody has reconciled it
Square → LinkedIn · diagnose
Diagnostic order — Square → LinkedIn
- 01
Count transactions carrying the li_fat_id click identifier
- 02
Follow one real conversion end to end
- 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.
- 04
Confirm auto-tagging is on and the conversion is defined in Campaign Manager
Two settings, both easy to miss, and either one missing means nothing matches.
- 05
Read the match rate, not the success message
Campaign Manager reports conversions against each defined conversion action with its own window. A successful API call is not a matched conversion — reconcile LinkedIn's reported conversions against your CRM for the same window, and expect a gap wherever your sales cycle exceeds the attribution setting.
Square → LinkedIn · prove
How it gets proven — Square → LinkedIn
Source of truth
Square's transaction list, split by channel — online and in-person are different questions.
- The li_fat_id click identifier confirmed present on a live transaction.
- Auto-tagging confirmed enabled, the conversion defined in Campaign Manager, and deduplication verified on a real conversion.
- The in-person join rate measured and stated as a number before any coverage claim is made.
Square → LinkedIn · free audit
What we check in the free audit
- Count transactions carrying the li_fat_id click identifier
- Follow one real conversion end to end
- Split Square revenue by channel before anything else
- Confirm auto-tagging is on and the conversion is defined in Campaign Manager
- Read the match rate, not the success message
Checked against
Square's transaction list, split by channel — online and in-person are different questions.
Free30 minutesNo obligation
Square → LinkedIn · when not to buy
When you don't need this — Square → LinkedIn
- Measure identifier coverage yourself first — pull your last hundred transactions and count how many carry the li_fat_id click identifier.
- 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 you are not selling to businesses, LinkedIn's cost per click is very hard to justify and no measurement work changes that arithmetic.
Square → LinkedIn · what we deliver
What gets built — Square → LinkedIn
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 LinkedIn
Server events to the LinkedIn Conversions API with the click identifier, hashed user data and a matched event identifier.
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.
From $400 · See packages
FAQ
Square → LinkedIn questions, answered
Yes, as an offline conversion matched on the hashed email of the invoice recipient, if the payment falls inside your LinkedIn attribution window.
Only for B2B services invoiced through Square. For retail or hospitality the click cost cannot pay back.
Almost always because the li_fat_id click identifier never reached the Square payment or order. 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. Measure coverage before debugging the dispatch.
The li_fat_id, appended to your landing page URL when auto-tagging is enabled on the LinkedIn account. LinkedIn also matches on hashed email and on company-level signals. Two things make this different from the consumer networks: auto-tagging is not always on, and LinkedIn's real strength is company-level reporting, so an event that carries no company context loses much of what makes the platform worth using.
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.
Campaign Manager reports conversions against each defined conversion action with its own window. A successful API call is not a matched conversion — reconcile LinkedIn's reported conversions against your CRM for the same window, and expect a gap wherever your sales cycle exceeds the attribution setting.
More on Square → LinkedIn
- Square Online → LinkedInConnecting Square Online to LinkedIn Ads
- Square Appointments → LinkedInConnecting Square Appointments to LinkedIn Ads
- LinkedIn · Lead → booked callHow to track lead to booked call for LinkedIn Ads
RELATED GUIDES
Where Square → LinkedIn fits in the rest of your tracking
- LinkedIn · Financial servicesLinkedIn Ads conversion tracking for financial services firms
- LinkedIn · EcommerceLinkedIn Ads conversion tracking for ecommerce brands
- LinkedIn × SubscriptionsHow to reconcile LinkedIn Ads against your billing system
- LinkedIn · Free trial → paidHow to track free trial to paid for LinkedIn Ads
- Recharge → LinkedInConnecting Recharge to LinkedIn Ads
- Square → TikTokConnecting Square to TikTok Events API
- Financial servicesConversion tracking for financial services, built for the compliance review
- Mollie → LinkedInConnecting Mollie to LinkedIn Ads
Free · 30 min
Get Square and LinkedIn joined properly
Free30 minutesNo obligation
