Skip to content

Shopify

This page describes how to configure a Shopify data source. With Data Loader, you can replicate and load your source data into your target destination.

Schema Drift Support: Yes. Read Schema Drift to learn more.

Return to any page of this wizard by clicking Previous.

Click X in the upper-right of the UI and then click Yes, discard to close the pipeline creation wizard.


Prerequisites

  • Read the Allow-listed IP Addresses topic before you begin. You may not be able to connect to certain data sources without first allow-listing the Batch IP addresses. In these circumstances, connection tests will always fail and you will not be able to complete the pipeline.
  • You must have an active Shopify Partner account (required to access the API Key).
  • You must have an active Shopify account (required for the Shop URL).

:::info{title='Note'} The Shopify data source connector queries system tables to locate metadata for your data sources, and may result in more API calls than expected. It's advised to keep the frequency of these jobs as low as possible. Contact your Shopify administrator to further gauge your API usage. :::


Create pipeline

  1. In Data Loader, click Add pipeline.
  2. Choose Shopify from the grid of data sources.
  3. Choose Batch Loading.

Connect to Shopify

Configure the Shopify database connection settings, specifying the following:

Property Description
Connection URL The URL required to connect to your Shopify server.
Application ID The app ID for your Shopify developer app. Within the Shopify developer portal, this is known as an API key. Instructions for acquiring this key can be found in Shopify Query Authentication Guide.
Password A managed entry representing your Shopify database login password. Choose an existing password from the dropdown menu or click Manage and then click Add new password to configure a new managed password entry. Give the password a label, which is what you can see in the password dropdown menu, and then input the value of the password. Read Manage Passwords to learn more.
Advanced settings Additional JDBC parameters or connection settings. Click Advanced settings and then choose a parameter from the dropdown menu and enter a value for the parameter. Click Add parameter for each extra parameter you want to add. Read the Shopify data model for more information about Shopify JDBC connection settings. For a list of compatible connection properties, read Allowed connection properties.

Click Test and Continue to test your settings and move forward. You can't continue if the test fails for any reason.


Choose tables

Choose any tables you wish to include in the pipeline. Use the arrow buttons to move tables to the Tables to extract and load listbox and then reorder any tables with click-and-drag. Additionally, select multiple tables using the SHIFT key.

Click Continue with X tables to move forward.


Review your data set

Choose the columns from each table to include in the pipeline. By default, Data Loader selects all columns from a table.

Click Configure on a table to open Configure table. This dialog lists columns in a table and the data type of each column. Additionally, you can set a primary key and assign an incremental column state to a column.

:::info{title='Note'}

  • Primary Key columns should represent a true PRIMARY KEY that uniquely identifies each record in a table. Composite keys work, but you must specify all columns that compose the key. Based on the primary key, this won't permit duplicate records. Jobs may fail or replicate data incorrectly if these rules aren't applied.
  • Make sure an Incremental column is a true change data capture (CDC) column that can identify whether there has been a change for reach record in the table. This column should be a TIMESTAMP/DATE/DATETIME type or an INTEGER type representing a date key or UNIX timestamp. :::

Click Add and remove columns to modify a table before a load. Use the arrow buttons to move columns out of the Columns to extract and load listbox. Order columns with click-and-drag. Select multiple columns using SHIFT.

Click Done adding and removing to continue and then click Done.

Click Continue once you have configured each table.


Choose destination

  1. Choose an existing destination or click Add a new destination.
  2. Select a destination from Snowflake, Amazon Redshift, or Google BigQuery.

Set frequency

Property Description
Pipeline name A descriptive label for your pipeline. This is how the pipeline appears on the pipeline dashboard and how Data Loader refers to the pipeline.
Sync every The frequency at which the pipeline should sync. Day values include 1—7. Hour values include 1—23. Minute values include 5—59. The input is also the length of delay before the first sync.

Currently, you can't specify a start time.

Once you are happy with your pipeline configuration, click Create pipeline to complete the process and add the pipeline to your dashboard.


Troubleshooting

If your table fails to load with a message indicating an "Indication Error" with advice to "Check source metadata", or failing with a message that the table is missing, please verify that your Shopify app has the correct permissions as per Shopify API access scopes.

For example, to extract data from CollectionListings, the extraction requires merchant approval for the read_product_listings scope.