Shopify

Shopify is a commerce platform that allows anyone to set up an online store and sell their products. 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
TemplatesTrue

Data Schema

T
- Table
S
- Sub table

Shopify API Admin Scopes

The Weld App asks for the following scopes when setting up the integration:

  • read_customers
  • read_content
  • read_themes
  • read_products
  • read_orders
  • read_all_orders
  • read_draft_orders
  • read_locations
  • read_inventory
  • read_fulfillments
  • read_assigned_fulfillment_orders
  • read_merchant_managed_fulfillment_orders
  • read_third_party_fulfillment_orders
  • read_shipping
  • read_gift_cards read_checkouts
  • read_reports read_price_rules
  • read_discounts
  • read_marketing_events
  • read_resource_feedbacks
  • read_shopify_payments_payouts
  • read_shopify_payments_disputes
  • read_translations read_locales

Shopify connector also supports history tables which can be enabled in the connector confirguration. For more see the history tables.

Setup Guide - ELT

Step 1 — Select Data Source

  1. In Weld, navigate to Connectors → Add Connector.
  2. Search for Shopify and select it.
Search for Shopify in the data source setup

Step 2 — Connection Settings

  1. Enter a name for your connection (e.g. shopify).
  2. Click Authorize. This will take you to Shopify's authorization flow, where you can grant access to your data.
  3. Log in to your Shopify account and click Install unlisted app to install the Weld app with the required access scopes.
Name the connection and authorize with Shopify

Once authorized, you can optionally configure additional settings:

  • Include contextual pricing — get product prices in the context of different countries.
  • Include translatable resource — sync translations of certain resources in selected languages.
  • Include history tables — add additional tables with the history of certain resources.
  • Limit historical data — only sync data after a selected date.
Configure optional connection settings

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.
Select Shopify tables to sync

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.
Configure sync frequency and start initial sync

Weld will take over from here and commence syncing data from your Shopify account.

Important - If you need to add Weld to multiple stores the following applies:

When clicking Authorize you'll be redirected to the Shopify App listing of Weld. Here you need to log out if logged in to be able to choose the correct store.

  1. Click Log out on the top left corner
  2. After logging out click Add app
  3. Log in to the account that holds the store
  4. You'll have a popup asking you to choose the store, here you can select the one you'd like to connect to
  5. Complete the authorization

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 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?