Shopify Source Connector
The Shopify source connector in DataSync lets you retrieve data from Shopify for loading or synchronizing in your data warehouse. It facilitates seamless integration with Shopify's GraphQL Admin API, allowing you to query Shopify data such as products, orders, and customers with high performance and flexibility. This connector streamlines data workflows and enhances the scalability of Shopify integrations.
After creating all required source connections, configure your destination source to complete the connection setup.
Limitations
- Shopify releases a new API version each quarter, and the connector is updated accordingly.
- The Use bulk operations option applies a bulk-specific schema; without it, the schema differs.
- Bulk operations are often better for large-scale replication because the Shopify GraphQL API has cost-based limits per request; using bulk operations avoids throttling.
- Run only one bulk operation at a time to prevent synchronization issues.
Configure a custom app in Shopify
To connect DataSync to Shopify, you must create a custom Shopify app. Refer to Shopify’s Build and Custom Apps documentation for full details.
- In the upper‑right corner of Shopify, click your name.
- Select Go to admin.
- Click Settings, then Apps and sales channels.
- Select Develop apps.
- Click Create a custom app.
- Enter a name for your app.
- Select an App developer (owner or staff account).
- Click Create app.
Create source connections in DataSync
- Log in to DataSync.
- From the welcome screen, select Connections.
- Next to Source Connections, click New.
- Select Shopify.
- In the Connection Properties panel, enter the connection properties.
- (Optional) In the Additional Connection Properties panel, select Add property and enter the parameters for each property.
- In the Advanced Settings panel, configure the settings, including the Tracking Type and other values according to your requirements.
- Click Save.
Parameters
Connection properties
| Parameter | Description |
|---|---|
| Description | Unique name for the connection. Example: Shopify |
| Shopify URL | Full URL of the Shopify store. Example: https://mystore.myshopify.com |
| API Version | Shopify API version to use. Allowed values: 2023‑04, 2023‑07, 2023‑10, 2024‑01, 2024‑04, 2024‑07, 2024‑10. See Shopify Versioning for more details |
| Authentication Mode | Authentication method:
|
| Callback URL | Auto‑generated URL provided after authenticating in DataSync. This must be whitelisted in the Shopify app’s Configuration section under Callback URLs. |
| Client ID | Application identifier assigned during registration. Found in the app’s Overview section in the Partner Dashboard. Example: 1234567890abcdef |
| Client Secret | Confidential value known only to the app owner and Shopify. Example: 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 |
| Scope | List of Shopify API access scopes requested by the connector. Defaults are preselected; some endpoints may require adding extra scopes. See Shopify API Access Scopes for details. |
| Personal access token | (PersonalAccessToken only) Token generated when creating an app in the Shopify Admin. Displayed only once; save securely. Grants Admin API access to sensitive store data. |
| Use bulk operations | Setting that enables Shopify bulk operations for GraphQL schema. Suitable for large‑scale data retrieval. Bulk queries are created automatically. Recommended to keep parallel bulk operations to a single active job. |
| Has Shopify Plus account | Setting that specifies if the app is installed on a Shopify Plus account. Adds additional columns and tables specific to Plus features. |
| Verbosity |
|
| Timeout | Time in seconds to wait for connection opening and query execution before timeout. |
Additional connection properties
Additional connection string properties not specified in the Connection Properties panel. For each property added, you can choose Visible or Encrypted. Selecting Encrypted hides the value from the interface and stores it encrypted in the back end, such as when defining passwords.
| Parameter | Description |
|---|---|
| Property | Connection string property that defines the action or behavior. Example: ReadOnly |
| Value | Value for the property. Example: True |
| Type | Visibility of the property: Visible or Encrypted. |
Advanced settings
Advanced settings control how the Shopify connector tracks changes, handles regional and time configuration, and processes data batches during extraction. These options allow fine‑tuning for performance and accuracy, and should be configured according to your system environment and operational requirements.
| Setting | Description |
|---|---|
| Tracking Type | Method for tracking changes: None or Date. |
| Region | Region setting for the connector, if required by your setup. |
| Time Zone | Time zone matching the Shopify application server. |
| Time Offset | Refresh offset in seconds to compensate for timing issues in record selection. Minimum value is 0; maximum is 3600 seconds. |
| Batch Size | Quantity of records processed in each batch during extraction. Larger batch sizes increase memory usage but can improve performance up to a point. The default value is 2000 and the maximum should not exceed 10000 records. Adjust according to your network speed and disk performance; in most cases the default (2000) works best. |