Skip to main content
Markifact connects to your Shopify store using Private Apps created through Shopify’s Developer Dashboard. This guide walks you through the setup process.

About Private Apps

Private apps are secure, store-specific applications that you create and control. They:
  • Are installed only on your specific store
  • Give you full control over permissions
  • Can be disconnected at any time
  • Keep your data access private and secure
Why Private Apps? We initially built Shopify OAuth integration for seamless one-click connection. However, Shopify requires OAuth apps to use their billing system, which doesn’t align with our existing subscription model. Private apps give you the same functionality with full control over your store’s data access.

Already Have a Custom App?

If you created a custom app before January 1, 2026, it will continue to work. You don’t need to make any changes — your existing connection remains fully functional.

Creating a Private App

Here’s how the connection process works:
  1. Create a private app in Shopify’s Developer Dashboard — this app is exclusive to your store
  2. Create a version and open its configuration page
  3. Request read all orders access from the version page
  4. Configure permissions (scopes) for what data the app can access
  5. Install the app on your store using a private install link
  6. Copy your credentials (Client ID and Client Secret) from the dashboard
  7. Connect in Markifact — we securely store your credentials and verify the connection
1

Open the Developer Dashboard

  1. Login in Shopify admin then go to dev.shopify.com/dashboard
  2. Click “Create app” in the top-right corner Create App Button
2

Name Your App

  1. Under “Start from Dev Dashboard”, enter a name for your app (e.g., “Markifact Integration”)
  2. App names can be up to 30 characters
  3. Click “Create” Name Your App
3

Open the Version Page and Request Read All Orders

Shopify requires permission before you can include the read_all_orders scope in an app version. This scope lets Markifact read orders older than the last 60 days, which is required for historical reporting.
  1. After creating the app, Shopify will prompt you to create a version. Click it to open the version configuration page.
  2. If you are returning to an existing app, click “Versions” in the left sidebar, then create a new version or open the draft version you want to update.
  3. On the version configuration page, go to the “Access” section and click “Request access” next to the message about scopes that require Shopify permission
  4. In “Read all orders scope”, click “Request access”
  5. Enter a short reason, such as:
Pull historical order data month on month for analytics.
  1. Click “Request access”
  2. After Shopify approves the request, go back to the same version configuration page Request Access to Read All Orders
Shopify usually approves this request immediately from the form. Once approved, you can add read_all_orders with the other required scopes.
4

Configure API Scopes

On the same version configuration page, stay in the “Access” section and add the required API scopes (permissions).
All scopes are required. Make sure to add all four scopes listed below.
ScopePurpose
read_ordersAccess order data for sales reporting
read_all_ordersAccess historical orders older than 60 days
read_customersAccess customer data for analytics
read_inventoryAccess inventory levels and product data
To add scopes:Copy and paste the following scopes into the text box:
read_orders, read_all_orders, read_customers, read_inventory
If Shopify shows read_all_orders as an invalid scope after your request is approved, refresh the version page and try adding the scopes again.
Alternatively, click “Select Scopes”, check the boxes next to each required scope, and click “Done”.Configure Required Scopes
5

Release the App

  1. Click the “Release” button in the top-right corner
  2. Optionally, enter a version name and message
  3. Click “Release” to confirm
After releasing, you’ll see your version listed in the Versions page.Version Released
6

Set Up Distribution

Before installing, you need to configure the app for private distribution to your store.
  1. In the Developer Dashboard, click “Distribution” in the sidebar (or click “Select distribution method”)
Can’t find Distribution? No problem. Click “Install app” and install it on your store. You can skip the distribution step entirely and continue to the next step.
Select Distribution2. Select “Custom distribution” and click “Select”, then confirm by clicking “Select custom distribution”Select Distribution
  1. Enter your Store domain (e.g., your-store.myshopify.com)
  2. If you have multiple stores under a Shopify Plus organization, check “Allow multi-store install for one Plus organization”
  3. Click “Generate link” and confirm Generate Install Link
  4. Copy the Install link — you’ll use this to install the app on your store Copy Install Link
7

Install the App

  1. Open the Install link you copied in the previous step
  2. Select your store if prompted
  3. Review the permissions — you’ll see the app is exclusive to your store
  4. Click “Install” Install App
Once installed, the app will appear in the left-side menu of your Shopify admin.
8

Get Your Credentials

After installation, you need to retrieve your Client ID and Client Secret from the Developer Dashboard.
  1. Go back to dev.shopify.com and select your app
  2. Click “Settings” in the left sidebar
  3. Under “Credentials”, click the copy icon next to Client ID
  4. Click the copy icon next to Secret to copy your Client Secret App Credentials
Important: Keep these credentials secure. Anyone with your Client ID and Secret can access your store data.
9

Connect to Markifact

  1. In Markifact, go to the Connections page
  2. Click “Connect Shopify”
  3. Enter your Store URL or ID (e.g., your-store or your-store.myshopify.com)
  4. Paste your Client ID
  5. Paste your Client Secret
  6. Click “Connect Shopify” Connect to Markifact

Disconnecting Your Store

You can disconnect your Shopify store at any time: From Markifact:
  1. Go to Connections
  2. Find your Shopify connection
  3. Click “Disconnect”
From Shopify:
  1. Go to SettingsApps and sales channels
  2. Find your Markifact integration app
  3. Click “Delete app”

Troubleshooting

Ensure you copied the Client ID and Client Secret correctly from the Developer Dashboard under SettingsCredentials. If you rotated your secret, make sure to update it in Markifact as well.
Verify that all required scopes are added to your app:
  • read_orders
  • read_all_orders
  • read_customers
  • read_inventory
After adding missing scopes, you need to release a new version and reinstall the app for changes to take effect.
Check that your store URL is correct. It should be in the format your-store.myshopify.com (without https:// or trailing slashes).
Shopify has API rate limits. If you’re running many reports simultaneously, you may hit these limits. Try spacing out your requests or reducing the frequency of automated workflows.

Summary

ItemWhere to FindExample
Store URLYour Shopify store URLyour-store.myshopify.com
Client IDDev Dashboard → Settings → Credentialsc33c8418c46301ef5d95...
Client SecretDev Dashboard → Settings → Credentialsabc123def456...
Required ScopesConfigure in Dev Dashboard → Versionsread_orders, read_all_orders, read_customers, read_inventory

Get Report

Fetch orders, customers, and inventory data from your store