
Configuring Shopify as a Source
In the Sources tab, click on the “Add source” button located on the top right of your screen. Then, select the Shopify option from the list of connectors. Click Next and you’ll be prompted to add your access.1. Add account access
You’ll need a Shopify Admin API access token and your store identifier.- Access Token: The private app access token for authenticating API requests.
- Store ID: The name of your Shopify store extracted from your store admin URL. Use only the store subdomain:
https://[store].myshopify.com/admin→Store ID = [store]. - Start Date: The earliest record date to sync.
To generate your Shopify token:
- Go to your Shopify admin panel
- Navigate to Settings → Apps and sales channels
- Click on “Develop apps” (or “Manage private apps” for older stores)
- Create a new app or select an existing one
- Grant the following API permissions as needed for these streams:
read_customersread_inventoryread_locationsread_ordersread_products
- Go to API Credentials and generate an access token
2. Select streams
Choose which data streams you want to sync - you can select all streams or pick specific ones that matter most to you.Tip: The stream can be found more easily by typing its name.Select the streams and click Next.
3. Configure data streams
Customize how you want your data to appear in your catalog. Select a name for each table (which will contain the fetched data) and the type of sync.- Table name: we suggest a name, but feel free to customize it. You have the option to add a prefix and make this process faster!
- Sync Type: you can choose between INCREMENTAL and FULL_TABLE.
- Incremental: every time the extraction happens, we’ll get only the new data - which is good if, for example, you want to keep every record ever fetched.
- Full table: every time the extraction happens, we’ll get the current state of the data - which is good if, for example, you don’t want to have deleted data in your catalog.
4. Configure data source
Describe your data source for easy identification within your organization, not exceeding 140 characters. To define your Trigger, consider how often you want data to be extracted from this source. This decision usually depends on how frequently you need the new table data updated (every day, once a week, or only at specific times). Optionally, you can determine when to execute a full sync. This will complement the incremental data extractions, ensuring that your data is completely synchronized with your source every once in a while. Once you are ready, click Next to finalize the setup.5. Check your new source
You can view your new source on the Sources page. If needed, manually trigger the source extraction by clicking on the arrow button. Once executed, your data will appear in your Catalog.Streams and Fields
Below you’ll find all available data streams from Shopify and their corresponding fields:Abandoned Checkouts
Abandoned Checkouts
Stream containing abandoned checkouts.Key Fields:
id- Unique identifier for the abandoned checkoutabandonedCheckoutUrl- URL for the abandoned checkoutcreatedAt,updatedAt,completedAt- TimestampstaxesIncluded- Whether taxes are included
subtotalPriceSet.presentmentMoney.amount,subtotalPriceSet.presentmentMoney.currencyCodetotalPriceSet.presentmentMoney.amount,totalPriceSet.presentmentMoney.currencyCodetotalTaxSet.presentmentMoney.amount,totalTaxSet.presentmentMoney.currencyCodetotalDiscountSet.presentmentMoney.amount,totalDiscountSet.presentmentMoney.currencyCode
customer.id,customer.firstName,customer.lastName,customer.emailcustomer.tags,customer.state,customer.notecustomer.createdAt,customer.updatedAt
billingAddress.*- Address lines, city, province, country, zip, phoneshippingAddress.*- Address lines, city, province, country, zip, phone
lineItems[].id,title,sku,quantitylineItems[].variant.id,lineItems[].variant.price
discountCodes[]taxLines[].rate,taxLines[].title,taxLines[].priceSet.presentmentMoney.amount,currencyCode
Collections
Collections
Stream containing product collections and included products.Key Fields:
id,title,handle,descriptionpublishedAt,updatedAt
image.altText,image.originalSrc
products[].id,title,handle,createdAt,updatedAtproductType,vendor,tags,totalInventory,status,price,inventoryQuantityvariants[].id,title,sku,price,inventoryQuantity
sortOrder,sortType,sortValue,templateSuffix,url
metafields[].id,namespace,key,value,type,description
Customers
Customers
Stream containing customer profiles.Key Fields:
id,firstName,lastNamecreatedAt,updatedAtverifiedEmail,taxExempt,tags,statenumberOfOrders
amountSpent.amount,amountSpent.currencyCodedefaultEmailAddress.emailAddress,defaultEmailAddress.marketingStatedefaultPhoneNumber.phoneNumber,defaultPhoneNumber.marketingState,defaultPhoneNumber.marketingCollectedFrom
addresses[].id,firstName,lastName,address1,city,province,country,zip,phone,name,provinceCode,countryCodeV2defaultAddress.*- Same structure as addresses
metafields[].id,namespace,key,value,type,description
Inventory Items
Inventory Items
Stream containing inventory items, levels and costing information.Key Fields:
id,legacyResourceId,sku,trackedcountryCodeOfOrigin,provinceCodeOfOrigin,harmonizedSystemCodeduplicateSkuCount,inventoryHistoryUrl
countryHarmonizedSystemCodes[].countryCode,harmonizedSystemCode
inventoryLevels[].idinventoryLevels[].location.id,inventoryLevels[].location.nameinventoryLevels[].item.id,inventoryLevels[].item.skuinventoryLevels[].quantities[].id,name,quantity,updatedAt
locationsCount.countmeasurement.weight.unit,measurement.weight.value
unitCost.amount,unitCost.currencyCodevariant.id,variant.title,variant.skuvariant.product.id,variant.product.title
createdAt,updatedAt
Locations
Locations
Stream containing store locations.Key Fields:
id,name,active,activatable,deactivatable,deletablecreatedAt,updatedAt,deactivatedAtaddressVerified,isFulfillmentService
fulfillmentService.id,fulfillmentService.serviceName
address.address1,address.address2,city,country,countryCode,province,provinceCode,zip
metafields[].id,namespace,key,value,type,description
Orders
Orders
Stream containing orders, transactions and line items.Key Fields:
id,name,legacyResourceId,email,phoneprocessedAt,createdAt,updatedAt,cancelledAt,closedAt,confirmedcurrencyCode,presentmentCurrencyCode
transactions[].id,kind,status,gateway,authorizationCode,test,paymentId,createdAt,processedAttransactions[].amountSet.presentmentMoney.amount,currencyCodetransactions[].amountSet.shopMoney.amount,currencyCodetransactions[].parentTransaction.id
totalPriceSet.shopMoney.amount,currencyCodetotalPriceSet.presentmentMoney.amount,currencyCodesubtotalPriceSet.*,totalShippingPriceSet.*,totalDiscountsSet.*,totalTaxSet.*(bothshopMoneyandpresentmentMoney)totalWeight,taxesIncluded,taxExempt
displayFinancialStatus,displayFulfillmentStatusfullyPaid,fulfillable,restockable,test,customerAcceptsMarketingsourceName,sourceIdentifier,currentSubtotalLineItemsQuantitytags,note,clientIp
customer.id,firstName,lastName,emailshippingAddress.*,billingAddress.*
discountCode,discountCodes[]metafields[].id,namespace,key,value,type,description
channelInformation.channelDefinition.handle
lineItems[].id,title,quantity,sku,vendor,variantTitlelineItems[].discountedTotalSet.*,originalTotalSet.*lineItems[].discountAllocations[].allocatedAmount.amount,currencyCodelineItems[].discountAllocations[].discountApplication.*lineItems[].variant.id,title,sku,product.id,product.title
Products
Products
Stream containing products, variants, images and metafields.Key Fields:
id,title,descriptionHtml,vendor,productTypecreatedAt,updatedAt,publishedAt,status,tags,templateSuffix
options[].id,name,position,values[]
variants[].id,title,sku,price,position,inventoryPolicy,compareAtPrice,createdAt,updatedAt,taxable,barcodevariants[].inventoryItem.id
images[].id,altText,originalSrcfeaturedImage.id,featuredImage.altText,featuredImage.originalSrc
metafields[].id,namespace,key,value,type,description