CONNECTIONS / Shopify / Shopify to LinkedIn Offline CAPI
Shopify wholesale deals, credited to LinkedIn months later.
A B2B buyer who requests a quote through a LinkedIn ad often pays a draft order on net-30 terms, long after any pixel window has closed. Signals hashes the business email on that draft order and delivers it to LinkedIn as an offline conversion.
- ● shopify → linkedin.offline_capi :: live
- > event Draft order marked paid value=9,200.00 USD
- hash sha256(business_email)
- route linkedin.offline_capi conversion=order_paid
- ✓ delivered · pipeline attributed
WHAT THIS ENABLES
Shopify to LinkedIn Offline Conversions API
Shopify to LinkedIn Offline Conversions API delivers wholesale draft orders marked paid outside standard checkout, matched on hashed business email, so a B2B deal invoiced and settled on net terms still attributes to the LinkedIn ad that sourced the buyer.
- Wholesale draft orders settled on net terms credited to the LinkedIn campaign that sourced the account.
- LinkedIn optimization informed by paid B2B revenue instead of quote requests alone.
- Attribution that survives the wait between a quote and a paid invoice, since matching runs on business email, not a session.
The click, the conversion, and the credit.
The conversion happens off LinkedIn, away from any pixel. Here is how Shopify closes the loop.
Built for the teams that own the number.
Teams already sending LinkedIn ad-driven web orders who want offline, invoice-settled deals included too.
From kickoff to verified events.
-
Connect
App-scoped access to Shopify draft order and customer webhooks.
-
Map
Draft order marked paid mapped to a LinkedIn offline conversion definition, keyed to business email.
-
Deliver
Delivery to LinkedIn's Conversions API, deduped against any web-order event already sent for the same account.
What changes when the CSV goes away.
| Capability | Manual CSV upload | Datahash |
|---|---|---|
| Reporting | Offline sales sit in a separate export, reconciled by hand. | Revenue counted in the same Offline CAPI reporting as web conversions. |
| Deduplication | A re-uploaded file risks counting the same conversion twice. | Deduped delivery, so a resent record never counts as a second conversion. |
| Match visibility | Match quality is a guess until the numbers look off. | Match rate reported per upload, tied to the source event set that produced it. |
| Effort and latency | An analyst exports and uploads on a manual cadence. | Server-side and automatic the moment Shopify records the event. |
What Offline CAPI actually receives.
- ● signals :: event payload
- > POST /conversionEvents source=shopify.draft_order
- conversion "urn:lla:llaPartnerConversion:518877"
- conversionHappenedAt 1784521200000
- user.userIds [{ idType: "SHA256_EMAIL", idValue: "d270ab…" }]
- ✓ accepted · conversionValue 9200.00 USD
Adjacent moves on the same stack.
from Shopify
Shopify to Google OCI
Shopify to Google Offline Conversion Import carries the GCLID captured on a storefront…
Learn morefrom Shopify
Shopify to Google Store Sales
Shopify to Google Store Sales hashes customer and order data from both the online…
Learn moresame use case
ActiveCampaign to LinkedIn Offline CAPI
ActiveCampaign to LinkedIn Offline CAPI: Signals reads your ActiveCampaign contacts and…
Learn moregeneric
LinkedIn Offline CAPI
Datahash routes offline outcomes, like closed deals from your CRM, to LinkedIn with hashed…
Learn moreAsked on almost every call.
What counts as the conversion event when a wholesale order is invoiced instead of paid at checkout?
The draft order being marked paid in Shopify, which is the point the sale is actually confirmed rather than just quoted. That event carries the business email and order value LinkedIn needs, regardless of how many weeks passed since the original ad click.
Does this need the LinkedIn Insight Tag installed on the storefront?
No. The Insight Tag measures on-site behavior; this pipeline measures the outcome of a deal that closes off-site through an invoice. Storefronts that also want on-site conversion tracking run LinkedIn CAPI for that, with this pipeline covering the offline side.
NEXT STEP