Shopify with Access Token

Shopify is a commerce platform that allows anyone to set up an online store and sell their products. The Shopify with Access Token connector uses a Shopify Admin API access token for authentication, giving you a straightforward setup without OAuth. Weld syncs your Shopify data into your data warehouse and supports Reverse ETL to push customers and metafields back to Shopify.

Features

Feature nameSupported
Column HashingTrueField level
BlockingTrueField level
IncrementalTrue
Custom dataFalse
HistoryTrue
ReSyncTrueTable level
TemplatesFalse

Data Schema

T
- Table
S
- Sub table

Shopify with Access Token connectors support history tables, which can be enabled in the connector configuration settings. For more see history tables.

Setup Guide - ELT

Step 1 — Select Connector

  1. In Weld, navigate to Connectors → Add Connector.
  2. Search for Shopify with Access Token and select it.
Select Shopify with Access Token from the connector list

Step 2 — Connection Settings

  1. Enter a Name for your connection (e.g. shopify_access_token).
  2. Enter your Access Token — this is the Admin API access token from your Shopify custom app (starts with shpat_).
  3. Enter your Store ID — the store identifier from your Shopify admin URL.
  4. Click Connect.
Enter access token and store ID to connect

Step 3 — Data to Sync

  1. Select the tables you want to sync. All available tables are listed with their sync mode (incremental where supported).
  2. You can view the schema, remove columns, or hash sensitive information.
  3. Click Next to continue.

Step 4 — Configure Sync

  1. Choose a schedule type (Independent or Orchestration).
  2. Select how often you would like the data to sync.
  3. Click Start Initial Sync to begin syncing.

Custom Reports (ShopifyQL)

Custom reports let you define your own queries using ShopifyQL — Shopify's commerce-specific query language — and sync the results as a table in your data warehouse. This is similar to Shopify's built-in Reports module but gives you full control over the query, letting you pull exactly the metrics and dimensions you need into your warehouse.

ShopifyQL report editor in Shopify Admin showing a sessions query with metrics and a line chart visualization

The screenshot above shows Shopify's native Reports editor — the same ShopifyQL syntax you write there works directly in Weld's custom report setup. The difference is that Weld syncs the query results into your data warehouse on a schedule, so you can join Shopify report data with the rest of your analytics stack.

You can create up to 20 custom reports per Shopify connection. Each report becomes its own table with incremental sync support.

Step 1 — Add a Custom Report

  1. Navigate to your Shopify connector's Configuration page.
  2. Scroll down to Custom reports and click Add custom report.
Click Add custom report in the connector configuration

Step 2 — Write Your ShopifyQL Query

  1. Give your report a Name — this becomes the table name in your warehouse.
  2. Write a ShopifyQL Query. ShopifyQL uses a SQL-like syntax with Shopify-specific extensions like TIMESERIES, WITH TOTALS, and commerce-aware functions.
  3. Click Validate report to verify the query and preview the output columns.
ShopifyQL query editor with validation results showing columns and types

The validation result shows all columns that will be synced, including their data types. If you use WITH TOTALS, Weld also syncs the totals columns (suffixed with _totals).

Validation errors when using unsupported keywords like SINCE, UNTIL, VISUALIZE, LIMIT, and ORDER BY
  1. Once validation passes and you see the green Report is valid confirmation, the report is ready to save.
Validate report button with green confirmation showing the report is valid

Example: Sessions Report

FROM sessions
SHOW online_store_visitors, sessions, average_session_duration,
added_to_cart_rate, reached_checkout_rate, conversion_rate, bounce_rate
WHERE human_or_bot_session IN ('human')
GROUP BY day WITH TOTALS
TIMESERIES day

This query pulls daily session metrics filtered to human traffic only, grouped by day with running totals — equivalent to the "Sessions over time" report in Shopify's Analytics section.

Step 3 — Select Columns

Once saved, the custom report appears as a new table in your connector's data selection. You can select or deselect individual columns, just like any other table.

Custom report table with all columns available for selection

Step 4 — Configure Incremental Sync

Custom reports support incremental sync. Click the sync mode badge to configure:

  • Mode: MERGE (recommended) — only changed and new rows are updated on subsequent syncs.
  • Primary key: The time dimension from your TIMESERIES clause (e.g. day).
  • Cursor: Set to since — Weld uses this to track the last synced timestamp.
Incremental sync configuration with primary key and cursor

With incremental sync enabled, only new or updated rows are fetched on each sync run, keeping sync times fast even as your data grows.


Setup Guide - Reverse ETL

Shopify Reverse ETL allows you to sync data on a schedule from your warehouse into Shopify. You can sync data from your SQL models, dbt models, or raw warehouse tables to the following Shopify objects:

customer19 fields · 1 required
upsert
FieldType
Emailrequired
STRING
Phone
STRING
First Name
STRING
Last Name
STRING
Address 1
STRING
Address 2
STRING
Address First Name
STRING
Address Last Name
STRING
Address Phone
STRING
City
STRING
Company
STRING
Country Code
STRING
Province Code
STRING
Zip
STRING
Tags
STRING[]
Note
STRING
Tax Exempt
BOOLEAN
Tax Exemptions
STRING[]
Locale
STRING
metafield5 fields · 5 required
upsert
FieldType
Owner IDrequired
STRING
Namespacerequired
STRING
Keyrequired
STRING
Typerequired
STRING
Valuerequired
STRING

Step 1 — Choose Destination

  1. Navigate to Reverse ETL in the sidebar and click + New.
  2. Search for Shopify and select your connected Shopify with Access Token account.
Choose Shopify as the Reverse ETL destination

Step 2 — Map Data

  1. Select your source — a SQL model, dbt model, or raw table/view from your warehouse.
  2. Select your destination object (customer or metafield).
Select destination object (customer or metafield)
  1. Sync mode is set to Upsert — if a matching record is found in Shopify it will be updated, otherwise a new record will be created.
  2. Set up the identifier — choose which source column matches the Shopify id field.
  3. Map the columns from your source to the corresponding fields in Shopify.
Configure sync mode, identifier, and field mapping

Step 3 — Schedule Sync

  1. Choose a schedule type (Independent or Orchestration).
  2. Select the sync frequency.
  3. Click Start Sync to begin.
Configure schedule and start the Reverse ETL sync

SQL Templates

View all →

Was this page helpful?