When working with multiple connectors, it can occur that you see differences between the numbers in Weld and those in the original dashboards. These discrepancies don’t necessarily mean the data is wrong, often they’re caused by how different platforms process, aggregate, and share information through their APIs.
Below we will share some of the most common reasons you may see mismatches across Shopify UI and Weld.
1. Attribution and conversion differences
What led a customer buy from you? This can be tricky, because the attribution and conversion tracking differs from platform to platform.
Shopify's reporting defaults to a ‘last-click attribution model’, assigning full credit for a sale to the final marketing touchpoint before the purchase. However through Shopify’s report, you can also toggle to the attribution model you prefer either by ‘Conversion by last non-direct click’ or ‘Conversion by first click’.
Attribution furthermore also affects how sessions and orders are reported. A customer can make multiple purchases in a single session, which results in multiple orders being recorded, but this is counted as one conversion only.
2. Aggregation discrepancies
Orders in Shopify can be reported at different stages (pending, fulfilled, refunded), but the API often only exposes finalized transactions.
The way data is aggregated in Shopify’s backend for analytics purposes might differ from how raw data is accessed and aggregated through the API. This can lead to differences, especially if there are returns, cancellations, or other adjustments.
Always double-check your data processing logic in Weld, as well as match Shopify’s calculation methods where possible.
Timezone shifts 🕙
Different time zone settings between platforms can cause discrepancies in daily reports. If Weld is set to other timezone than what Shopify uses (Central European Time), the same purchase might appear in different days’ reports.
Solution: Convert all timestamps to the same time zone (either your local time zone or UTC) during your code/modeling.
Refunds & returns handling
Shopify’s sales, payments and finance reports treat refunds and returns separate items, and this can lead to further discrepancies.
Why such discrepancies can occur
- One of these scenarios include ‘pending vs. completed refunds’. This entails that a refund in progress may still appear as a positive sale in the Sales by channel report. Once the refund completes, the amount flips to a negative value.
- Another scenario relates to ‘refunds and restocks’ on separate dates. This means that if a product is refunded and later restocked on a different date the same amount can appear twice in reports. The restocked item can also show as N/A in the Product field.
- If you restock items without issuing a refund, the tax portion tied to that product could display as a return in sales reports. This is an expected behavior, the product tax is ‘reversed’ in the Sales report, even though it is not refunded to the customer. These reverse taxes won’t appear in the payments report, which only tracks actual money exchanged.
- If your selected reporting period includes only the order creation but not the return, you may see negative amounts instead of zeros. What can resolve this issue is expanding the date range or removing grouping. Additionally adding the ‘Sale kind’ column also helps as it displays which part of an order is in the row.
- If an order was created at $0.00 USD with no funds exchanged, any returns on that order won’t display in the ‘Returns’ report, due to Shopify only counting returned products that were sold to a customer.
3. Metrics and definitions
Currency and regional settings 💱
You might have noticed that when you compared the same date in Shopify and Weld, some orders are missing, and the revenue seems to be off.
Discrepancies can occur if Weld and Shopify track sales in different currencies or if Shopify includes taxes and shipping in the revenue, which Weld might not account for.
Any other currency in Weld besides US dollars causes currency recalculations using the prior day's exchange rate to happen. This can cause the Weld gross revenue to differ from the Shopify data especially in case of increased daily currency volatility.
Solution: Verify that currency settings match across platforms and exclude taxes/shipping in Shopify for an apples-to-apples comparison.
Product-level reporting
A specific issue such as 348 sales vs. 54 in Weld suggests a tracking problem for product-level events; this can include:
- Product ID mismatch: Ensure that your Shopify product IDs (SKU or variant ID) match the data sent to Weld.
- Checkout funnel events: Confirm that events like “add_to_cart,” “begin_checkout,” and “purchase” are accurately logged.
Visitors & Customers
Shopify sometimes counts unique visitors and customers differently across reports.
A single visitor might show up multiple times across rows, but the total is deduplicated, which leads to confusion if you’re summing manually. Therefore, do not simply add up the numbers in the rows of these reports and trust the total value for unique visitors or customers at the bottom of the report.
Customers over time vs. Customer list
In Shopify, ‘Customers over time’ report displays only the number of customers that have placed at least one order on your store. Whereas the total number of ‘Customers’ list includes customers that haven’t placed an order on your store. This explains why totals don’t always line up.
Tip: If you want an accurate comparison, create a segment that filters based on customers that placed orders.
Cookie & consent limitations 📝
Session and conversion data rely heavily on cookies. Cookies play a crucial role in collecting and reporting analytics for your online store by storing small text files on a user's device as they browse. Cookies enable the collection of key behavioral insights such as session counts, page visits, and link clicks. These files are important for tracking and analytics, but they also come with limitation, when it comes to consent.
If visitors don’t consent (especially under GDPR/ePrivacy rules), Shopify collects less data and lower counts in Shopify UI vs Weld (where Weld only sees what Shopify passes via API).
Cookies can contain information that directly or indirectly identifies a user. Because of this, if you are a merchant operating in the European Economic Area (EEA) or in the United Kingdom you are required to obtain explicit consent before tracking begins.
Overall, with consent Shopify can track session, conversion, and user activity more fully whereas without consent tracking of these is more suppressed and can lead to reduced visibility.
Cross-domain tracking
If your website spans multiple domains, tracking between different domains can sometimes cause mismatches.
Missing data discrepancies
Certain dimensions, such as ’Product title’ or ’Customer ID’, link to the corresponding information in your Shopify admin. If you delete an order, customer, or product in Shopify, the corresponding data disappears from reports.
💡Also good to know
Even when both platforms track the same transaction, they might report different revenue amounts. Shopify often shows higher revenue figures because it includes taxes and shipping costs by default, and it may count gross sales rather than net sales depending on your setup.
Therefore it is usually good to be aware of how Shopify calculates their metrics as if Weld’s models calculate these metrics differently it can cause discrepancies.
Key definitions in Shopify
- Gross sales: Product price × quantity sold. Includes canceled, pending, and unpaid orders. (This is before taxes, shipping, discounts, and returns)
- Net sales: Gross sales minus discounts and returns.
- Net quantity: Number of items sold minus the number of returned items.
- Ordered quantity: Products explicitly ordered by the customer. Does not include items added later via order edits.
- Total sales: gross sales - discounts - returns + taxes + duties + shipping charges + fees.
Why this matters?
If Weld excludes duties, shipping or taxes, Weld’s totals won’t match Shopify’s UI. Or if you compare Gross sales with Net quantity, the numbers may not align because of how Shopify includes pending, unpaid or canceled orders in gross calculations.
Final thoughts
Discrepancies between Shopify and Weld are normal. What’s important is understanding why numbers differ so you can build trust in your reporting.
Therefore, it is good to always check on these first:
- Attribution model
- Aggregation logic
- Time zones and currencies
- Refunds/returns handling
- Whether you’re comparing the same definitions
Doing so helps ensure you’re comparing apples to apples and focusing on insights, not mismatches. These are some of the most occurring discrepancies you might encounter between your Shopify UI vs Weld. You a deeper understanding and more information you can check out the official Shopify Analytics discrepancies documentation here.
Sources
Data discrepancy with GA4 - Shopify
Analytics discrepancys - Shopify
Data-discrepancies-between-ga4-and-shopify - Analytica Digital