Skip to main content

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.

  1. In the upper‑right corner of Shopify, click your name.
  2. Select Go to admin.
  3. Click Settings, then Apps and sales channels.
  4. Select Develop apps.
  5. Click Create a custom app.
  6. Enter a name for your app.
  7. Select an App developer (owner or staff account).
  8. Click Create app.

Create source connections in DataSync

  1. Log in to DataSync.
  2. From the welcome screen, select Connections.
  3. Next to Source Connections, click New.
  4. Select Shopify.
  5. In the Connection Properties panel, enter the connection properties.
  6. (Optional) In the Additional Connection Properties panel, select Add property and enter the parameters for each property.
  7. In the Advanced Settings panel, configure the settings, including the Tracking Type and other values according to your requirements.
  8. Click Save.

Parameters

Connection properties

ParameterDescription
DescriptionUnique name for the connection. Example: Shopify
Shopify URLFull URL of the Shopify store. Example: https://mystore.myshopify.com
API VersionShopify 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 ModeAuthentication method:

  • OAuth2 – Custom apps created in the Shopify Partner Dashboard.
  • PersonalAccessToken – Custom apps created in the Shopify Admin.
Callback URLAuto‑generated URL provided after authenticating in DataSync. This must be whitelisted in the Shopify app’s Configuration section under Callback URLs.
Client IDApplication identifier assigned during registration. Found in the app’s Overview section in the Partner Dashboard. Example: 1234567890abcdef
Client SecretConfidential value known only to the app owner and Shopify.
Example: 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
ScopeList 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 operationsSetting 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 accountSetting that specifies if the app is installed on a Shopify Plus account. Adds additional columns and tables specific to Plus features.
Verbosity
  • 1 – Log queries, row counts, execution start/end, errors.
  • 2 – Includes level 1 plus cache queries, HTTP headers.
  • 3 – Includes level 2 plus request/response bodies.
  • 4 – Includes level 3 plus transport-level communication.
  • 5 – Includes level 4 plus all interface commands.
TimeoutTime 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.

ParameterDescription
PropertyConnection string property that defines the action or behavior. Example: ReadOnly
ValueValue for the property. Example: True
TypeVisibility 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.

SettingDescription
Tracking TypeMethod for tracking changes: None or Date.
RegionRegion setting for the connector, if required by your setup.
Time ZoneTime zone matching the Shopify application server.
Time OffsetRefresh offset in seconds to compensate for timing issues in record selection. Minimum value is 0; maximum is 3600 seconds.
Batch SizeQuantity 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.

Example