Apps and Quota

Each app has a limited amount of quota, consider creating a separate app for each data source. This will ensure that each data source have dedicated quota, and that the downloads runs as smooth as possible.

Setting up a Private App

  1. Log in to your Shopify Store Admin interface 

  2. Go to Apps in the menu to the left

  3. Click “Manage private apps” on the bottom

  4. Click “Create a new private app”

  5. Give the app a Private app name of your choice

  6. In Emergency developer email, enter the email address that Shopify should use for contacting you regarding your app.

  7. Click “Review disabled Admin API permissions”

  8. Make sure that the following scope categories are set to Read Access:
    - Orders, transactions and fulfillments
    - Products, variants and collections
    - Draft orders
    - Analytics
    - Marketing events and related marketing engagement data
    - Customer details and customer groups (If you've opted to include Customer ID)

  9. It should look something like this:

10. Finally, click Save

Copy The Credentials

After creating your app, go back to Apps > Manage private apps  and click on the app you just created. Then copy the following details and enter them into Funnel when connecting to the Shopify Data Source:

  • API Key

  • Password (located right below the API key)

In addition to this we also need your shop name, which you can find in the address bar when logged into your shop (ie. where the shop name would be “thisismyshop”) or in the top left corner of the administrative GUI:

Warnings from Shopify 

Shopify update their APIs on a quarterly schedule, see In connection with this they issue warnings to their customers that an app may need to be updated, something similar to this:

"Your private apps may no longer work if not updated before..."

"App" in this context refer to the user of the credentials (API key and secret) that is created to let another service, e.g. Funnel, access the Shopify API. Typically there should be no need to take any action for a Funnel user; if needed Funnel will update the connector.  

Did this answer your question?