Skip to main content

Imported Online Store & Marketplace & Retail Integration

Guide for uploading sales data from imported online stores and marketplace/retail channels to WorkMagic, including required fields, data format, and five upload methods.

WorkMagic supports two types of imported channels for brands that sell on platforms not natively integrated with WorkMagic and where pixel-based tracking is not applicable:

  • Imported Online Store — a DTC store on a platform without a native WorkMagic integration (e.g., Chewy, a platform being migrated from, or any digital storefront not supported by the pixel)

  • Imported Marketplace / Retail — a secondary sales channel such as Walmart marketplace, Target, Nordstrom, or other retail/wholesale accounts

These channels are used for cross-channel sales analysis, MBO, and lift testing only — not for Multi-Touch Attribution (MTA). Because there is no pixel or click-level tracking, WorkMagic cannot attribute individual clicks to imported channel conversions. Instead, WorkMagic measures how your DTC marketing drives halo-effect sales on these channels.

If your store supports pixel installation and real-time order tracking, use the Custom-built website integration instead.


Part 1: Prepare Your Retail Data

Before uploading, make sure your data is formatted correctly. Records that don't match the required format will be rejected.

You can download the official template directly and fill it in — see the template link in Settings > Data Integration > Sales Data > Google Sheet, or directly open the template here.

(a) Required Fields

Field

Description

date_type

Frequency of the report, DAILY or WEEKLY.

date_code

Date in YYYY-MM-DD format. For WEEKLY data, use the start date of the week (e.g., Monday).

geo_type

Geographic granularity of the data: ZIP or DMA or IP.

geo_code

The geographic identifier matched to geo_type (e.g., 10001 for a ZIP code, 501 for a DMA code).

sales_platform

The name of the channel where the sale occurred (e.g., Walmart, Target). If not platform-specific, use Online Store for PRIMARY channels or Retail for SECONDARY channels.

sales_platform_type

PRIMARY for DTC channels where marketing directly drives purchases. SECONDARY for indirect channels such as marketplaces, where marketing influences sales through halo effects. Controls the attribution logic used in lift tests.

country_code

Country where sales occurred, in ISO 3166-1 alpha-2 format (e.g., US, CA, GB). This field is a primary key and cannot be edited after submission.

orders

Number of orders placed before cancellations and refunds. For retail channels, please use this field to reflect number of units sold. Enter as a numeric value.

sales

Total value of sales in your store currency. Enter as a numeric value (e.g., 10.01).

Important: The fields marked as primary keys (date_type, date_code, geo_type, geo_code, sales_platform, sales_platform_type, country_code) together form a unique record key. Before uploading, make sure your data has no duplicate rows across this combination. If you have multiple rows with the same key — for example, multiple store locations within the same ZIP code or DMA on the same date — aggregate them into a single row by summing orders, sales, profit, new_customer_orders, and new_customer_sales before uploading. If duplicate keys are uploaded, only the last record will be kept and earlier ones will be overwritten.

(b) Optional Fields

Field

Description

geo_name

Human-readable name for the geographic region (e.g., Midtown Manhattan). Improves readability in dashboards.

profit

Profit earned after subtracting costs, in your store currency. Used for profit prediction in MBO.

new_customer_orders

Number of orders placed by new customers. Used for calculating incremental new customer orders in lift tests and MBO.

new_customer_sales

Total value of sales placed by new customers in your store currency. Used for incremental new customer sales analysis in lift tests and MBO.

(c) Sample data and payload

The following shows the sample data in tabular format for your reference. This format is only applicable for a Google Sheet data sync. All other file deposit approaches require a JSON payload

[{
  "date_type": "DAILY",
  "date_code": "2025-01-01",
  "geo_type": "DMA",
  "geo_code": "501",
  "geo_name": "NEW YORK",
  "sales_platform": "walmart",
  "country_code": "US",
  "orders": "10",
  "sales": "10.01",
  "profit": "10.01"
},
{
  "date_type": "DAILY",
  "date_code": "2025-01-01",
  "geo_type": "DMA",
  "geo_code": "501",
  "geo_name": "NEW YORK",
  "sales_platform": "walmart",
  "country_code": "US",
  "orders": "10",
  "sales": "10.01",
  "profit": "10.01"
}]

(d) Validate Your Data Before Uploading

Before uploading, you can use our data validation tool to check that your file is correctly formatted and free of errors.

This tool checks for common issues such as missing required fields, incorrect date formats, unrecognized geo codes, and duplicate primary keys — so you can catch and fix problems before they reach the platform.

(e) Preparing data for upload

To onboard your data properly, we require historical, net-new and updated sales data:

  1. Historical data: Please send over records from the past 180 days to enable lift testing and model learning

  2. Net-new data: Depending on your source data's refresh cadence, please set up a daily / weekly data job that updates your source table with rolling 30 days data so net-new data can be pushed to Workmagic

When updating an order, the data with the same unique key (date_type, date_code, geo_type, geo_code, sales_platform, sales_platform_type, country_code) will be overwritten with the new information.


Part 2: Upload Your Data

(a) Add the Platform to Your Data Scope

Every platform you upload data for must first be registered in your Data Scope.

  1. Go to Settings > Platform Integration > Data scope & Feature readiness.

  2. Look for the Sales channels section at the bottom of the platform list.

  3. Click Edit and check the relevant sales channels or enter the platform name exactly as you want it to appear in dashboards (e.g., "retail").

  4. Save your changes.

The sales platform indicated in your data scope should match exactly to the value used in the payload's sales_platform field

(b) Choose Your Upload Method

Navigate to Settings > Data Integration > Sales Data and select your preferred upload method.

Method

Best For

Google Sheets

Small to medium datasets, non-technical users

Amazon S3

Batch file uploads via AWS

Google Cloud Storage

Batch file uploads via GCP

Snowflake

Export from Snowflake data warehouse

BigQuery

Export from BigQuery data warehouse


Method 1: Google Sheets (recommended for non-technical users)

  1. Select Google Sheets as your upload method.

  2. Click the template link and select Make a copy to your Google Drive.

  3. Fill in your sales data following the required field format above.

  4. Share view access with: [email protected]

  5. Paste the sheet URL into WorkMagic and click Confirm.

Only the first tab of the spreadsheet (gid=0) is processed. The full sheet is re-synced on each scheduled run.

Sync frequency: WorkMagic syncs your sheet daily on a scheduled run. If you make changes to the sheet, the updated data will be picked up every hour.

How we handle your data: Once processed, your data is stored in our database independently of Google Sheets. Removing it from the sheet won't delete it here. To update existing records, re-upload with the same unique key — duplicates will be automatically deduplicated and overwritten with the new values.

Please allow 1 hour for the updated data to be processed and reflected on your account.

To onboard your data properly, we require historical, net-new and updated sales data:

  1. Historical data: Please send over records from the past 180 days to enable lift testing and model learning

  2. Net-new data: Depending on your source data's refresh cadence, please set up a daily / weekly data job that updates your source table with rolling 30 days data so net-new data can be pushed to Workmagic via Google Sheets

When updating an order, the data with the same unique key (date_type, date_code, geo_type, geo_code, sales_platform, sales_platform_type, country_code) will be overwritten with the new information.


Method 2: Amazon S3

Option A — Use WorkMagic's S3 bucket:

  1. Select Amazon S3 and choose WorkMagic's bucket.

  2. In the AWS Console, go to IAM > Users and get your IAM User ARN.

  3. Enter your IAM User ARN into WorkMagic and click Confirm.

  4. Upload your sales data files to the designated path.

Option B — Use your own S3 bucket:

  1. Select Amazon S3 and choose Your own bucket.

  2. Provide WorkMagic with your S3 bucket name and the necessary IAM credentials.

  3. Install AWS CLI.

  4. Transform your data into a JSON.gz payload, following the structure indicated in section Part 1(c)

  5. Configure a sync script to upload spend data files to the designated path.

To onboard your data properly, we require historical, net-new and updated sales data:

  1. Historical data: Please send over records from the past 180 days to enable lift testing and model learning

  2. Net-new data: Depending on your source data's refresh cadence, please set up a daily / weekly data job that updates your source table with rolling 30 days data so net-new data can be pushed to Workmagic

When updating an order, the data with the same unique key (date_type, date_code, geo_type, geo_code, sales_platform, sales_platform_type, country_code) will be overwritten with the new information.


Method 3: Google Cloud Storage (GCS)

Option A — Use WorkMagic's GCS bucket:

  1. Select Google Cloud Storage and choose WorkMagic's bucket.

  2. WorkMagic's bucket name: workmagic-inbound-data

  3. Create a Google Service Account in your Google Cloud project and share the account with us for authorization.

  4. Transform your data into a JSON.gz payload, following the structure indicated in section Part 1(c)

  5. Upload files to the WorkMagic bucket using the GCS SDK or gsutil.

Option B — Use your own GCS bucket:

  1. Select Google Cloud Storage and choose Your own bucket.

  2. Create a Google Service Account in your Google Cloud project and share the account with us for authorization.

  3. Transform your data into a JSON.gz payload, following the structure indicated in section Part 1(c)

  4. WorkMagic will provide an assigned GCS path. Use gsutil rsync to sync files from your bucket to that path on a recurring schedule.

To onboard your data properly, we require historical, net-new and updated sales data:

  1. Historical data: Please send over records from the past 180 days to enable lift testing and model learning

  2. Net-new data: Depending on your source data's refresh cadence, please set up a daily / weekly data job that updates your source table with rolling 30 days data so net-new data can be pushed to Workmagic via Google Sheets


Method 4: Snowflake

  1. Select Snowflake as your upload method.

  2. WorkMagic will provide the target S3 export path and credentials in the setup panel.

  3. In Snowflake, use the COPY INTO command to export your spend data to the specified S3 location.

  4. Transform your data into a JSON.gz payload, following the structure indicated in section Part 1(c)

  5. Schedule the export to run on a recurring basis (e.g., daily).

To onboard your data properly, we require historical, net-new and updated sales data:

  1. Historical data: Please send over records from the past 180 days to enable lift testing and model learning

  2. Net-new data: Depending on your source data's refresh cadence, please set up a daily / weekly data job that updates your source table with rolling 30 days data so net-new data can be pushed to Workmagic via Google Sheets


Method 5: BigQuery

  1. Select BigQuery as your upload method.

  2. WorkMagic will provide the target GCS export path and credentials.

  3. Transform your data into a JSON.gz payload, following the structure indicated in section Part 1(c)

  4. In BigQuery, use EXPORT DATA or a scheduled query to export your spend data to the specified GCS bucket.

  5. Schedule the export to run on a recurring basis.

To onboard your data properly, we require historical, net-new and updated sales data:

  1. Historical data: Please send over records from the past 180 days to enable lift testing and model learning

  2. Net-new data: Depending on your source data's refresh cadence, please set up a daily / weekly data job that updates your source table with rolling 30 days data so net-new data can be pushed to Workmagic via Google Sheets

(c) Verify Your Upload

After uploading, confirm that your data has been successfully ingested using the Debug Tool.

  1. Go to Settings > Data Integration > Sales Data > Upload Data.

  2. Click the Debug Tool tab (next to Instructions).

  3. Scroll down to find Data Sync Processing Report — note this is separate from the Data Accuracy report.

  4. Select the relevant time range.

  5. Click Check.

You will see a detailed report of your sync, including which records were processed or rejected. If any records were rejected, the report will show the reason — refer back to Part 1 to correct your data and re-upload.

What WorkMagic Measures for Imported Channels

Once uploaded, your data will appear across the following areas.

Capability

Available

Sales and order data in dashboards

Cross-channel halo effect analysis

Marketing Mix Modeling (MMM)

Incrementality / Lift Testing

Multi-Touch Attribution (MTA)

✓ — under incrementality attribution model and data-driven attribution model only

Customer-level attribution


FAQ

Q: Can I use MTA for my imported channel?

A: Yes. Our model based attribution model (incrementality adjusted attribution and data-driven attribution) provides attribution for imported ad platforms.

Q: What is the difference between an Imported Online Store and a Custom-built website?

A: A Custom-built website uses the WorkMagic Pixel for real-time click tracking plus Orders API for order matching — enabling full MTA. An Imported Online Store uses data-upload only (no pixel), enabling model based attribution, lift test, cross-channel analysis and MMM.

Q: What upload formats does WorkMagic accept?

A: WorkMagic accepts JSON (gzip-compressed or uncompressed) via S3, GCS, Snowflake, BigQuery, or Google Sheets. See Part 1 for field definitions and schemas.

Q: How often should I upload data?

A: For best results, upload on a daily or weekly basis. WorkMagic uses the most recently uploaded data, so frequent syncs keep your dashboards up to date.

Q: Can I add multiple imported marketplace channels?

A: Yes. You can add multiple imported marketplace/retail channels (e.g., both Walmart and Target) on a sheet and upload separate order data for each. If you are using Google Sheet to sync multi channel data with WorkMagic, please consolidate the feed into one Google Sheet and sync this master sheet with WorkMagic on our platform's UI.

Q: I need to upload sales data on a recurring schedule. Is there an automated way to do this?

A: Yes. Simply send your data files to the address below on your desired schedule, and notify your account manager. WorkMagic will handle the rest — no additional setup required on your end.

To get started, notify your account manager and begin sending your data files to the following address on your desired schedule:

  • Subject line: {tenant_id}_{platform}_{frequency}

  • Body: No requirements. However, if subject line customization is not supported by your email system, include {tenant_id}_{platform}_{frequency} in the email body instead.

Did this answer your question?