Tracking problems · Store marketers and ecommerce agencies
How to Track Campaign Revenue From Shopify Orders
Shopify marketing attribution starts with a campaign visit and ends with credit assigned to an order under a reporting rule. To evaluate a campaign in Attriboo, verify its recorded storefront visit, the supported paid-order delivery and the payment-to-visit match. Then compare campaign revenue using the same dates, currency, credit rule and refund scope.

1. Choose One Storefront and One Campaign Decision
Pick one campaign and a completed reporting period. Decide whether you want to inspect its paid orders, compare recorded contribution with ad spend, or diagnose a missing visit. A traffic total alone cannot answer all three questions. Keep your first review small enough to follow one known order as well as the campaign total.
| Write Down | Keep Consistent |
|---|---|
| Storefront and order channel | The website people visited and the online-store purchase path you are reviewing. |
| Dates and timezone | One start/end basis for visits, paid orders, refunds and spend. |
| Currency and value | One currency; specify tax, shipping, discounts and refund treatment. |
| Credit rule and window | The selected model and look-back window; save them with the export. |
Shopify already provides useful native evidence. In Shopify admin, open Analytics → Reports and filter the category to Marketing. Use the relevant campaign report and inspect its Attribution selection. Shopify’s marketing-report documentation explains that report scope and credit rules matter; “Any click” can give full credit to several channels for the same order.
Use the native report if it answers your decision. Attriboo adds a view of supported payment records linked to recorded website visits. Neither view should be treated as a list of customers a campaign caused you to acquire. Order credit, distinct buyers and first-time customers are different counts.
2. Check the Link That Actually Reaches Your Store
Open the published ad, email or creator link and follow it to the storefront. Read the final landing URL after redirects. Use a consistent source, medium and campaign label, such as source=meta, medium=paid_social and campaign=creator_launch. Check the actual recorded visit in the same Attriboo website; a neatly tagged URL is only the intended input.
Build and review external campaign links with the UTM guide. Keep names stable across your ad account, email tool and report. Do not add campaign tags to internal product or cart links just to make a report look complete; those tags can replace the meaning of the original entry.
Shopify Campaigns also supports shareable links and rules for grouping activity. Editing a shareable link after people use it can affect its reporting; Shopify recommends adding a new link when you need to preserve earlier traffic. Keep the campaign naming sheet beside your report rather than assuming every platform groups the same links identically.
3. Connect Storefront Visits and Paid Orders Separately
Select your storefront in Attriboo. Open Setup and confirm the website installation, then expand Connect your payment provider and select Shopify. These are separate checks: an installed script does not establish paid-order delivery, and an order connection does not establish a measured visitor.
Where to find itDashboard → Setup → Connect your payment provider → Shopify
The overview preserves the selected storefront and Setup tabs. The Shopify control is enlarged from the same capture below.
Select the overview to open the full screenshot.
Enlarged detail of the outlined area
- Review the store’s order connection
Confirm the intended store and valid paid-order delivery. Website tracking has its own installation check.
Follow the connection option your account actually offers. When Shopify app sign-in is enabled, enter your permanent .myshopify.com address, choose Connect Shopify and approve the requested order access. Availability for independent stores depends on Shopify app distribution and approval. Existing manual webhook connections remain supported; do not assume a public app install is available just because the integration page exists.
A webhook is a notification Shopify sends when an event happens. The supported reader receives paid orders and refund updates. A manual connection needs the paid-order and refund notifications described in Setup. Keep signing keys inside the authorized connection form, never in campaign URLs, shared notes or this article’s worksheet.
Check a valid supported paid-order delivery separately from a test notification. Attriboo acknowledges Shopify’s sample notification without recording it as revenue. Use an existing authorized paid record or an approved provider test process; do not create a live charge simply to follow this guide. The current connection receives new events and does not import historical Shopify orders.
4. Follow One Known Paid Order Back to Its Visit
If the order exists but has no matching traffic source, use the unmatched Shopify order checklist to separate order delivery, missing visit evidence, another sales channel and the cart reference. Return here after that missing boundary is understood.
In Shopify admin, open Orders and choose the order you are authorized to inspect. Find Conversion summary and, when available, View conversion details. Shopify says this order-level evidence can show earlier visits and their origins. Limited or empty conversion details are possible, especially when full visit history is unavailable; they do not prove the customer had no previous contact with your store.
For a standard Shopify theme/cart path, Attriboo’s standard tracker attempts to write its actual visitor reference to the cart as _atb_vid. The order reader checks supported note attributes for that reference, then verifies it against recorded visitors on the same website. Existing provider-customer or email associations can also help matching where available; they do not recreate missing browsing history.
Shopify’s Cart API supports updating cart attributes through a locale-aware cart endpoint. Headless storefronts, accelerated routes and other sales channels need their own review; do not assume the standard theme/cart handoff covers them. Have your developer inspect the actual cart/order result if the expected reference is missing. Do not manufacture visitor IDs or change a person’s tracking choice to force a match.
Return to Attriboo’s Dashboard for the same website and dates. Under the summary cards, open Payment Match and separate received-but-unmatched payments from matched ones. A delivery status and a matching visitor are different evidence. Keep private order identifiers in your authorized records rather than pasting them into the local worksheet.
To inspect the recorded route, open Journeys & Funnels → Journeys and use the available source, starting-page and outcome filters. A recorded purchase path can help explain the sequence. Its linked new-purchase value uses visit-linking rules and excludes renewals and refunds, so it is not a replacement for net campaign revenue. A later payment may lack a visit-level purchase step even when a payment record exists.
5. Keep Refunds and Revenue Definitions in the Comparison
For supported Shopify paid orders, Attriboo records the current order total minus the current tax total, falling back to the original totals when necessary. That includes shipping and reflects discounts in the supplied order amount. It is not automatically the same as a Shopify report’s item-only net sales or your bank payout.

The refund reader totals successful refund transactions and subtracts the supplied refunded line-item tax. It links the refund to the original Shopify order when that record is available. Check the actual payload and report when shipping refunds, duties or other adjustments complicate the amount; do not assume every Shopify financial adjustment has identical treatment.
Refunds affect Attriboo net revenue on their recorded dates. A refund this week can relate to an order paid last month, which can produce a negative period. Shopify’s Campaigns documentation says returns are not included in that campaign report’s metrics. Compare the exact reports you selected before calling that difference a tracking failure.
If your real question is why Shopify and GA4 totals differ, use the separate reconciliation workflow. This guide’s job is to evaluate one campaign-to-order path and its recorded contribution, rather than make unlike platform totals equal.
6. Compare Campaign Credit With the Same Reporting Rules
From Dashboard, find Where customers come from → Revenue sources → View all. Open Ad ROAS, the current full campaign view. In the Lumina Studio Gear example, clear Search to compare creator_launch, creator_retargeting and desk_essentials_search. Type creator_launch to find its matching row. Preserve the website, dates and Credit selection with your export.
Where to find itDashboard → Revenue sources → View all → Ad ROAS → Search
The overview preserves the storefront, period, Credit rule, creator_launch search and matching result. Order credit and net revenue are enlarged from that same capture below.
Select the overview to open the full screenshot.
Enlarged detail of the outlined area
- Read the matching order credit
The search finds creator_launch with five allocated order credits under First-Touch. Order credit is not a first-time customer count.
- Keep the refund deduction
USD1,450 in paid campaign credit minus USD150 in recorded refunds gives USD1,300 net. The separate USD500 spend produces 2.6× revenue to spend, not profit.
Try another search, then clear it to restore all rows. In this example, creator_launch has five paid orders totaling USD1,450 and a USD150 partial refund, leaving USD1,300 net. The campaign worksheet below uses those same amounts. In your own workspace, investigate a genuinely empty view by checking the website, dates, search and available history; do not replace unavailable records with zero.
First-Touch and Last-Touch can allocate the same purchase differently. Keep one rule fixed for the first decision, then compare the other rule deliberately if you need to understand introductions versus closing visits. Do not add their totals together.
Ad spend is saved or imported separately from Shopify order delivery. Compare recorded net revenue with matching spend, then review product costs and fees before making a profit decision. Attribution is evidence for a campaign review; an incrementality study answers whether the campaign produced additional sales.
7. Choose the Next Campaign Check Before Changing Spend
Use the local worksheet to record the evidence you actually have. It chooses the first unresolved check, keeps unknown amounts separate from measured zero, and withholds a revenue-to-spend ratio when the reporting basis is incomplete. It does not connect to Shopify or verify your account.
One store, one campaign, one basis
Review a Shopify Campaign Before Changing Its Budget
Record observed checks, then compare paid campaign credit, refund deductions and ad spend on the same basis. Starting values form an example. Leave unknown amounts blank; zero means a measured zero. Entries stay in this browser. Do not enter keys, order numbers, emails or customer identifiers.
Example: USD1,450 of paid campaign credit minus USD150 of compatible refund deductions leaves USD1,300 of net credit. With USD500 of campaign ad spend, the ratio is 2.60×. That is recorded revenue per advertising dollar. It is not profit, a unique-customer count or proof of additional sales caused by the campaign.
Finish with one action and one owner. Repair a missing campaign label, review an alternate checkout path, investigate a paid notification or inspect a payment match. When those checks align, use the campaign comparison to plan one budget or creative test. Keep remaining unknowns in the review note rather than replacing them with an assumed source.
Common questions
Does a UTM-tagged Shopify link automatically attribute a paid order in Attriboo?
No. The link labels the intended entry. Attriboo still needs recorded website activity, supported paid-order delivery and a matching visitor or existing association. Check one actual paid order before interpreting the campaign total.
Can I use Shopify reports without adding another analytics tool?
Yes. Shopify’s Marketing reports can group online-store performance by campaign and attribution rule. Use them if they answer your decision. A separate measurement tool is useful only when its recorded website and payment view adds evidence you need.
Will connecting Shopify import my older orders into Attriboo?
No. The current Shopify webhook connection receives new events; it does not import historical orders. Connecting today cannot reconstruct earlier storefront visits or recover missing campaign labels.
Does a Shopify test notification count as a sale?
Attriboo acknowledges Shopify’s sample test notification without storing it as revenue. Use delivery status to inspect the notification path, then review a supported paid record and its matching visit separately.
Does every Shopify order appear as a purchase in Journeys?
No. Journeys uses recorded visits and its own new-purchase linking window. A payment without a qualifying recorded visit can lack a journey purchase step. Refunds are separate from linked new-purchase value, and other sales channels may lack storefront browsing evidence.




