In GoDataFeed, you can use our Shopify Product Feed Template to take a catalog of products from one import source and use our feed template to list them in Shopify to create your new Shopify catalog of products.
You can easily manage your Shopify products by performing tasks like product insertion, update, and deletion, using our data sources available through various e-commerce channels, including Walmart, Amazon, and more.
The process to set up the feed and test the submission is detailed in the below chart:
First, you will need to add two stores to your GoDataFeed account:
- Store 1 will be used to import the product data you’re submitting to Shopify. Your data can be retrieved via FTP, HTTP, Manual upload, 3rd Party API Integration.
- Store 2 will be used to import the product data from Shopify for review.
- Setup your import to retrieve the product data that you wish to use to create products in Shopify
- Add the Shopify Products Feed Template by navigating to the top menu bar, selecting Feeds > Then located on the feeds page in the upper right corner click the button that says “+ add new feed” > Click “feed template” > Search for the Shopify Products feed and select to add it > Return to the feeds page and activate it.
- Begin setting up the Shopify feed by mapping the product fields and formatting your product data with rules. We have the following help article that can provide more details on how to do this: All-in-one Feed Setup Overview Guide
A) You only map the "id" field in the feed if you are updating products. The id has to come from the Shopify import, therefore leave it empty.
B) Creating products is a 1 time process updating is done in the Shopify Store 1.
C) To create metafields, see the instructions below:
How to create metafields within the Shopify Product Feed Template
- Once the feed is set up and your product data is ready to submit for creation to Shopify, you will need to retrieve the Shopify API keys in store and add them to your feed submission settings. Please see below the steps to retrieve these from Store 2.
- Copy and paste the API keys from Store 2’s import into Store 1’s Shopify Product feed submission settings > click save > then click the submit button to send your product data for creation to Shopify.
Add a second store within your GoDataFeed account and choose Shopify as the import source. Follow the instructions to obtain your admin access token to generate the Shopify API keys. Once the import is set up the Shopify API keys will be provided in the import settings.
After products are created, you should use Store 2 with the Shopify import to review what was created and you can make future updates to the product in this store.
Bulk Operations: Bulk Operations refer to a group of product insertions, updates, or deletions that are processed together as a single task, instead of performed individually.
Parentage: In Shopify, a parent product is a template for a product that can have multiple variations, which are known as variant products
Jsonl Files: Json Lines (Jsonl) is a data format utilized by Shopify for importing and exporting their data, where each line in the file represents a single Json object.
Base URL: The Shopify store's web address, such as https://your- development-store.myshopify.com.
Admin Access Token: A secure and unique token that provides access to the Shopify store's admin API, enabling product imports and updates. This token is generated by the store's admin and must be kept confidential to prevent unauthorized access.
If the user already has a Shopify import set up, they can easily retrieve the Admin Access Token from it by following these steps:
Navigate to the GoDataFeed app.
Click on "Import" and then select "Primary Source".
Click on "OAuth Token" to retrieve the Admin Access Token associated with the Shopify import.
Step 1: Log in to your Shopify account and navigate to Settings:
Step 2: Go to App and sales channels:
Step 3: Develop Apps:
Step 4: Create an app and give it a name:
Step 5: Under Configuration select “Admin API integration”:
Step 6: Select the permissions for this Access Token. The required permissions for our Feed Template are the following:
Read/Write Metaobject Definitions
Read/Write Metaobject entries
Read/Write Product Feeds
Read/Write Product Listings
After having selected your permissions, click save:
Step 7: Go to API Credentials and Install App:
Finally, copy your access token and save it some place safe.
Populate your Base URL and Admin Access Token:
To prevent duplicate products, it's important to note that Shopify doesn't automatically check for duplicates during product insertion. If the same product is inserted multiple times, it will result in duplicated products.
To avoid this, we've added a checkbox that must be enabled before initiating the product insertion operation. This ensures that products are not inserted repeatedly and helps maintain a clean and organized product catalog.
Product Insertion: To successfully insert products, ensure that your Shopify store has the "Allow Create Product" feature enabled and the import source is not set to Shopify.
Product Mapping for Shopify
Product Update and Deletion: To update or delete products, the Shopify store's import source must be set to Shopify as it requires the product IDs that are only available through Shopify's API.
If you're submitting products to Shopify, there are several key fields to keep in mind. Here are some important details about these fields:
Id and ParentId:
ID and Parent ID fields are necessary when updating products in Shopify, and are only available if the import source is Shopify.
ID corresponds to "id" and Parent ID corresponds to "product_id" in the Shopify import.
Providing correct values for both fields is crucial to ensure a successful update.
Use "imgSrc" field for new product insertion to specify the image URL for each product.
Use "imageId" field instead of "imgSrc" when updating existing products, only available when importing from Shopify, to efficiently reference existing images.
Shopify supports multiple inventory locations, but GoDataFeed only allows up to 5 locations to be mapped for submitting to Shopify.
Each location ID in GoDataFeed corresponds to an "availableQuantity" field, and both must be mapped if one or the other is populated.
Additionally, the "inventoryItemTracked" field in GoDataFeed must be mapped to indicate whether the item's inventory will be tracked in Shopify.
For fields that are not mentioned in this list, please carefully read their descriptions before mapping them and submitting products to Shopify.
The Delta functionality in GoDataFeed allows you to determine how to submit each SKU to your chosen e-commerce channel - as an insert, update, or delete. This is useful in cases where you no longer want to sell a particular SKU on the channel, as ending the product import for that SKU will automatically trigger a delete operation. This helps keep your product catalog updated and prevents the sale of products that are no longer available in your inventory.
These values can be selected in GoDataFeed when submitting your product data to Shopify, allowing you to efficiently manage and update your product catalog on the platform.
Metafields are a flexible way to attach additional information to a Shopify resource (e.g. Product, Collection, etc.). Metafields are identified by an owner resource, a namespace, and a key and they store a value along with type information for that context.
Each metafield consists of the following properties:
The description of the metafield.
The unique ID of the metafield.
Required when updating a metafield, but should not be included when creating as it's created automatically.
The unique identifier for a metafield within its namespace.
Must be 3-64 characters long and can contain alphanumeric, hyphen, and underscore characters.
The container for a group of metafields that the metafield is or will be associated with. Used in tandem with `key` to lookup a metafield on a resource, preventing conflicts with other metafields with the same `key`.
Must be 3-255 characters long and can contain alphanumeric, hyphen, and underscore characters. When namespace is not specified, the namespace will default to “gdf”.
The data stored in the metafield. Always stored as a string, regardless of the metafield's type.
The type of data that is stored in the metafield. Refer to the list of supported types.
A comma-separated key-value approach is used for each of the properties when building rules to create and/or update metafields. For example:
where “property” is one of the metafield properties mentioned above,
“value” is the actual value that will be assigned.
- Start by creating a custom rule to set the value of the field named “metafields”.
- Add a tag for each property (key-value pair) followed by a “,” (comma). The resulting value from this rule will be a comma-separated string like so,
It’s important to keep one property per tag to increase rule readability.
You may create multiple metafields using a single rule. This is accomplished by separating multiple metafield tags using a “|” (pipe symbol).
The resulting value from this rule will be a comma-separated string like so,
As an example, to create a metafield for Store Code, Store Name, and Shipping Length, please follow the logic below. Each color represents a single metafield and the required 4 attributes.
Things to Remember
When inserting products, it is possible for duplicates to be created if the same products are inserted more than once.
The import source cannot be Shopify when inserting products.
When updating products, the import source MUST be Shopify, as we require the Shopify product and image IDs to properly update products.
When the import source is Shopify, the customer cannot insert products to Shopify.
In Shopify, a parent product is the container of its variants, which means that all variants of a product inherit the title and other information from the parent product.
If a customer wants to modify product data, for example, to update the parent product's title, they can follow these steps:
Create a rule in GoDataFeed that sets the title field to the new value.
Make sure that the Parent ID field matches the parent product in Shopify.
Note that the Parent ID field is only available if Shopify is the import
source, as it is specific to Shopify's product architecture.
Updating the parent product's title will update the titles of all its variants.
Product Update - Create New Images:
- While you can create new images in Shopify when you create a brand-new product by specifying the image source (URL), on product update you cannot add a new image by using its URL, instead, you must use an already existing image id.
Product Update - Inventory Quantities:
- While you can assign products to an inventory location and track their inventory, you cannot update inventory quantities in Shopify.