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:- Create a private app in Shopify’s Developer Dashboard — this app is exclusive to your store
- Configure permissions (scopes) for what data the app can access
- Install the app on your store using a private install link
- Copy your credentials (Client ID and Client Secret) from the dashboard
- Connect in Markifact — we securely store your credentials and verify the connection
Open the Developer Dashboard
- Login in Shopify admin then go to dev.shopify.com/dashboard
-
Click “Create app” in the top-right corner

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

Configure API Scopes
After creating the app, you’ll be prompted to create a version. Click on it to open the configuration page.
Under the “Access” section, you need to add the required API scopes (permissions).
To add scopes:Copy and paste the following scopes into the text box:Alternatively, click “Select Scopes”, check the boxes next to each required scope, and click “Done”.
| Scope | Purpose |
|---|---|
read_orders | Access order data for sales reporting |
read_customers | Access customer data for analytics |
read_inventory | Access inventory levels and product data |

Release the App
- Click the “Release” button in the top-right corner
- Optionally, enter a version name and message
- Click “Release” to confirm

Set Up Distribution
Before installing, you need to configure the app for private distribution to your store.
2. Select “Custom distribution” and click “Select”, then confirm by clicking “Select custom distribution”
- 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.


-
Enter your Store domain (e.g.,
your-store.myshopify.com) - If you have multiple stores under a Shopify Plus organization, check “Allow multi-store install for one Plus organization”
-
Click “Generate link” and confirm

-
Copy the Install link — you’ll use this to install the app on your store

Install the App
- Open the Install link you copied in the previous step
- Select your store if prompted
- Review the permissions — you’ll see the app is exclusive to your store
-
Click “Install”

Get Your Credentials
After installation, you need to retrieve your Client ID and Client Secret from the Developer Dashboard.
- Go back to dev.shopify.com and select your app
- Click “Settings” in the left sidebar
- Under “Credentials”, click the copy icon next to Client ID
-
Click the copy icon next to Secret to copy your Client Secret

Important: Keep these credentials secure. Anyone with your Client ID and Secret can access your store data.
Connect to Markifact
- In Markifact, go to the Connections page
- Click “Connect Shopify”
-
Enter your Store URL or ID (e.g.,
your-storeoryour-store.myshopify.com) - Paste your Client ID
- Paste your Client Secret
-
Click “Connect Shopify”

Disconnecting Your Store
You can disconnect your Shopify store at any time: From Markifact:- Go to Connections
- Find your Shopify connection
- Click “Disconnect”
- Go to Settings → Apps and sales channels
- Find your Markifact integration app
- Click “Delete app”
Troubleshooting
Invalid credentials
Invalid credentials
Ensure you copied the Client ID and Client Secret correctly from the Developer Dashboard under Settings → Credentials. If you rotated your secret, make sure to update it in Markifact as well.
Missing permissions error
Missing permissions error
Verify that all required scopes are added to your app:
read_ordersread_customersread_inventory
Store not found
Store not found
Check that your store URL is correct. It should be in the format
your-store.myshopify.com (without https:// or trailing slashes).API rate limits
API rate limits
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
| Item | Where to Find | Example |
|---|---|---|
| Store URL | Your Shopify store URL | your-store.myshopify.com |
| Client ID | Dev Dashboard → Settings → Credentials | c33c8418c46301ef5d95... |
| Client Secret | Dev Dashboard → Settings → Credentials | abc123def456... |
| Required Scopes | Configure in Dev Dashboard → Versions | read_orders, read_customers, read_inventory |

