Data Sources and Validation Steps
Google Analytics Data (GA4)
Data We Need
Reported visits (referred to as sessions in GA)
Web and App transactions and revenue
Transaction IDs matched with eCommerce IDs
Why We Need This Data
Google Analytics is a critical data source used in the first step of Fospha Modelling. While it is not a source of truth for transactions, it provides essential directional input that contributes to an understanding of overall marketing performance.
How We Get This Data
Fospha pulls this data via the GA4 API, using the country code to determine the market of the activity.
What to Expect
Short-term differences: Data from the last week may show minor differences due to delays in GA4 API updates. Typically, these differences fall within a normal range of ±5% for visits data.
Stabilization over time: Numbers should align when viewing a longer period.
Data Freshness Feature
Fospha’s Freshness Redistribution addresses the 24-hour lag in GA4 API data by using historical trends to predict and reconcile incomplete metrics for the most recent day. This ensures timely and accurate distribution of transactions and revenue across marketing channels.
How to Validate
Compare Transactions and Total Revenue
Compare Last Click Conversions (in Fospha’s Attribution Comparison) with Google Analytics Transactions.
Compare Last Click Revenue (in Fospha’s Attribution Comparison) with Google Analytics Total Revenue.
Period Filter: Previous Month
Ensure checks are performed at the market level.
GA Metric | Fospha Metric | Tolerance | Where to find in GA4 | Where to find in Fospha |
Transactions | LC Conversions | +-5% | Reports > Acqusition > Traffic acquisition | Attribution Comparison Dashboard |
Total Revenue | LC Revenue | +-5% | Reports > Acqusition > Traffic acquisition | Attribution Comparison Dashboard |
How To Validate in Google Analytics:
How To Validate In Fospha Platform: https://app.storylane.io/share/xgup1fwt7bvt
Compare Visits
Compare Fospha Visits with GA4 Sessions;
GA Metric | Fospha Metric | Tolerance | Where to find in GA4 | Where to find in Fospha |
Sessions | Visits | +-5% | Reports > Acqusition > Traffic acquisition | KPI Health Check |
How To Validate in Google Analytics:
How To Validate In Fospha Platform:
If differences persist, contact your Customer Success Manager (CSM) for guidance.
Ad Platform Data
Data We Need
Total cost and cost per Ad Platform data.
Campaign-level data for each campaign objective
How We Get This Data
Fospha integrates directly with your Ads Manager APIs.
What To Expect
Minor cost differences may arise due to:
Exchange rate fluctuations.
Delays in ad platform API updates.
How To Validate Cost
Compare Fospha total cost numbers with the costs reported in your source of truth.
If there is any top line difference, compare at a channel level, and identify if there is any missing channels, see example for Google Ads below.
Notify your CSM if:
A channel is missing.
Costs seem off for a specific channel.
Google Ads Example
Things to watch out for:
Multiple google ads accounts
Default setting for conversions
Google Ads Metric | Fospha Metric & Filter | Tolerance | Where to Find in Google Ads | Where to Find in Fospha |
Cost | Cost | +-2% | Campaigns > Campaigns | Dashboard: Reporting Dashboard (custom table)
Filter: Source = 'google' |
Conversions | AP Conversions | +-2% | Campaigns > Campaigns | Dashboard: Reporting Dashboard (custom table)
Filter: Source = 'google' |
Conv. Value | AP Revenue | +-2% | Campaigns > Campaigns | Dashboard: Reporting Dashboard (custom table)
Filter: Source = 'google' |
Clicks | Clicks | +-2% | Campaigns > Campaigns | Dashboard: Reporting Dashboard (custom table)
Filter: Source = 'google' |
Impressions | Impressions | +-2% | Campaigns > Campaigns | Dashboard: Reporting Dashboard (custom table)
Filter: Source = 'google' |
How To Validate in Google Ads:
How To Validate in Fospha:
How To Validate Campaign-Level Data
Review Campaign Objectives: Flick through the different campaign objectives in Fospha to ensure all relevant data is pulled into the correct sections.
Check Strategy Assignment: Verify that each campaign strategy is correctly assigned to its corresponding objective within Fospha.
How To Validate In Fospha Platform: https://app.storylane.io/share/abdxccsm5tjr
Ecommerce Platform Data (Shopify)
Data We Need
Total revenue and conversion numbers
Percentage of new conversions (identified by “1” in the Customer Order Index column)
Why We Need That Data
We need to track all conversions that happen on a given day—even if some are later returned—to get a full picture of your sales activity.
Reconciliation
Reconciliation is the foundational step in Fospha’s data ingestion pipeline, ensuring that every eCommerce sale and conversion is accurately captured. By aligning your eCommerce platform data (e.g., Shopify, Magento) with Google Analytics (GA), we identify and account for any unmatched transactions. These transactions are then redistributed across your marketing channels, providing a complete view of your performance.
This approach overcomes the limitations of cookie-based tracking by ensuring that 100% of your sales and conversions are included, offering a reliable basis for attribution and analysis. The accuracy of data is crucial, and when Fospha can match transactions between Shopify and GA (using a transaction ID), those transactions will be included in your report, meaning we’re modelling those conversions.
New vs. Repeat Segmentation
Using data directly from your eCommerce platform, this feature enables deeper analysis of your customer base and marketing performance, with insights into:
Customer Acquisition Cost (CAC): Accurately calculate the cost of acquiring new customers at a detailed, channel-level view.
% of New Conversions: Easily track and analyze the share of conversions driven by new customers, helping you optimize campaigns for growth.
How We Get This Data
Fospha pulls data from your eCommerce files and APIs (e.g., Shopify).
What To Expect
By default, Fospha reconciles to the "Online Store" sales channel in Shopify. Total conversions in Fospha should match the "Online Store" sales channel data in Shopify, along with any conversions tracked in GA—even if they aren’t part of the “Online Store” sales channel.
For other sales channels (e.g., app), you may need separate reconciliation. If you have app attribution set up in Fospha, we will reconcile app data (e.g., TapCart, App) as well.
Taxes, returns, and refunds may impact reported revenue.
How To Validate
Compare Total Revenue in Fospha with Total Sales in Shopify.
Check that the breakdown of new vs. returning customers matches expectations. We calculate the percentage of new conversions from orders labelled with ‘1’ in the Customer Order Index column.
We define conversions as the number of orders. It should align with your “Orders” metric.
Things to watch out for
Sales channels
Shipping country
Shopify Metric | Fospha Metric | Tolerance | Where to Find in Shopify | Where to Find in Fospha |
Total Sales | Revenue | +-2% | Analytics > Reports > Create custom report > Sales Report Template > Customize Columns | Dashboard: Reporting Dashboard (custom table)
Filter: Market = 'Your Market Here' |
Orders | Conversions | +-2% | Analytics > Reports > Create custom report > Sales Report Template > Customize Columns | Dashboard: Reporting Dashboard (custom table)
Filter: Market = 'Your Market Here' |
Total Sales where Customer Type = 'New' | New Revenue | +-2% | Analytics > Reports > Create custom report > Sales Report Template > Customize Columns | Dashboard: Reporting Dashboard (custom table)
Filter: Market = 'Your Market Here' |
Total Sales where Customer Type = 'Returning' | New Converisons | +-2% | Analytics > Reports > Create custom report > Sales Report Template > Customize Columns | Dashboard: Reporting Dashboard (custom table)
Filter: Market = 'Your Market Here' |
How To Validate Total Sales In Shopify: https://help.fospha.com/en/articles/10449981-building-a-report-in-shopify-for-data-validation
How To Validate Total Revenue and Conversions In Fospha: https://app.storylane.io/share/d35c83gyxyfg
Ecommerce Platform Data (Custom)
At Fospha, we run your model daily, meaning that each day we will load Ad Platform and Google Analytics data from the previous day into your model. Equally, we will also require daily feeds of your ecommerce transaction data to allow us to capture your source of truth.
Data We Need
The Ecomm files you send must match these headings exactly.
Field (Header) | Notes |
Transaction Date | In exact format |
Market | Example: |
Transaction ID | Unique identifier matching the transaction ID in Google Analytics UA & GA4 ecommerce reporting. |
Transaction Revenue | Transaction Amount: Confirm with your team whether to send Gross or Net revenue. |
Currency Code | Example: |
Customer Order Index | Use |
Discount Code (Optional) | Discount codes used in the order: - Single code: Provide only the code itself. |
| - Multiple codes: List them as a comma-separated string enclosed in square brackets, with each code in double quotes. Example: |
Purchase Type (Optional - For Subscription Business only) | Can have four values: |
Source (Optional - to differentiate between Web and App purchases) | Indicates the source of the transaction: |
How To Validate
Please check with your developers to confirm any differences between Fospha and Ecommerce file data. It’s important to note that this information is sourced directly from your internal data team, and our system will fully align with the data structure and format you supply.
Targets
Blended targets are provided by you, and Fospha uses them to calculate your paid media targets based on the paid media revenue contribution to your total revenue in Fospha.
How To Validate
If the blended targets don't align with your internal ones, please contact your CSM.