Skip to main content
Ocular connects to Shopify and Shopify Plus stores via OAuth or a Custom App. Choose the method that suits your workflow — OAuth is faster, Custom App gives you more control over scopes.

What you need

OAuth — just your Shopify login. Custom App — a Shop ID (my-store.myshopify.com), an Admin API access token, and your Client ID & Client Secret.

What it unlocks

Sales Performance (D2C), the revenue side of the P&L, customer cohorts, and discount attribution.

Step 1 · Find your Shop ID (store domain)

Open Shopify Admin

Log in to your Shopify Admin at admin.shopify.com.

Read the URL

The browser URL looks like admin.shopify.com/store/my-store/....

Copy your Shop ID

The segment after /store/ is your Shop ID. Add .myshopify.com if it isn’t already present — e.g., my-store.myshopify.com.
Your Shop ID never changes, even if you rename the store. It’s safe to save it once.

Step 2 · Authenticate with Shopify

Choose one of the two methods below. The fastest way to connect — no custom app required.

Select OAuth 2.0

In the Ocular connector setup screen, select OAuth 2.0 as the authentication method.

Continue Setup with Shopify

Click Continue Setup with Shopify to proceed to the Shopify App Store.

Authorize Ocular

Click Authorize to grant Ocular access to your Shopify account using OAuth authentication.

Save & Test

Click Save & Test to initiate the Shopify data sync.

B. Custom App

Create a custom app in Shopify to generate an Admin API access token.

Log in to Shopify

Log in to your Shopify account.

Open Apps settings

On the left-hand navigation menu, click Apps, and then select App settings.
Shopify1
Shopify2

Develop apps

Click Develop apps. If prompted, click Allow custom app development and accept the terms.
Shopify Develop Apps

Create an app

Click Create an app. Enter an App name (e.g., Ocular Analytics), select the appropriate App developer from the drop-down, and click Create app.
Shopify3

Configure Admin API scopes

Enable the following read permissions:

Analytics & content

  • read_analytics
  • read_content
  • read_locales
  • read_translations

Orders & customers

  • read_orders
  • read_draft_orders
  • read_customers
  • read_returns

Money & finance

  • read_shopify_payments_accounts
  • read_shopify_payments_disputes
  • read_shopify_payments_payouts

Catalog & inventory

  • read_products
  • read_product_listings
  • read_publications
  • read_inventory
  • read_locations
  • read_files
  • read_price_rules
  • read_discounts

Fulfilment & shipping

  • read_merchant_managed_fulfillment_orders
  • read_assigned_fulfillment_orders
  • read_third_party_fulfillment_orders
  • read_fulfillments
  • read_shipping

Marketing & other

  • read_marketing_events
  • read_reports
  • read_resource_feedbacks
  • read_script_tags
  • read_themes
The read_gift_cards and read_users scopes are available only for Shopify Plus accounts. To sync data from the GIFT_CARD and USER tables, contact Shopify Support to enable these scopes for your account.

Install the app

Click Install App.

Copy your credentials

On the API credentials page, copy three values you’ll need in Ocular:
  • Admin API access token
  • API key (this is your Client ID)
  • API secret key (this is your Client Secret)
Shopify Id And Secret
The Admin API access token can only be viewed once. Save it somewhere secure. If you lose it, uninstall and reinstall the custom app to generate a new one — all previous tokens are invalidated.

Step 3 · Configure the connector in Ocular

Open the connector form

In Ocular, navigate to Data Management → Connectors → Add connector → Shopify.

Fill the fields

Connector Name

Free-form label (e.g., shopify_main).

Connector Identifier

Auto-generated by Ocular.

Start Date

YYYY-MM-DD — how far back Ocular should pull data from your Shopify store.

Lookback Days

The number of past days from which data will be fetched during synchronization. Default 30.

Schedule Frequency

Numeric value + unit (e.g., 4 hours) — defines how often the connector will automatically sync data.

Shop ID

my-store.myshopify.com

Access Token

The token from Step 2 (Custom App method only).

Fill the fields

Connector Name

Free-form label (e.g., shopify_main).

Connector Identifier

Auto-generated by Ocular.

Start Date

YYYY-MM-DD — how far back Ocular should pull data from your Shopify store.

Lookback Days

The number of past days from which data will be fetched during synchronization. Default 30.

Schedule Frequency

Numeric value + unit (e.g., 4 hours) — defines how often the connector will automatically sync data.

Shop ID

my-store.myshopify.com

Access Token

The Admin API access token from Step 2 (Custom App method only).

Client ID

The API key from your custom app’s API credentials page (Custom App method only).

Client Secret

The API secret key from your custom app’s API credentials page (Custom App method only).

Select authentication method

Choose OAuth or Custom App as your authentication method. If using Custom App, enter your Shop name (the part before .myshopify.com in your Shopify URL — e.g., if your URL is shopname.myshopify.com, your shop name is shopname) and the Admin API access token you copied.

Select authentication method

Choose OAuth or Custom App as your authentication method. For Custom App, provide:
  • Client ID and Client Secret — the API key and API secret key from your custom app’s API credentials page.
  • Shop name — the part before .myshopify.com in your Shopify URL (e.g., if your URL is shopname.myshopify.com, your shop name is shopname).
  • Admin API access token — the token you copied in Step 2.
Find your Client ID and Client Secret on the custom app’s API credentials page, under API key and secret key (App development → your app → API credentials.

Save & Test

Click Save & Test. Ocular will sync your data from your Shopify account. Initial historical load takes 24–48 hours.
Image 20260406 092047

Save & Test

Click Save & Test. Ocular will sync your data from your Shopify account. Initial historical load takes 24–48 hours.
Shopify Connected

Troubleshooting

Re-copy the token — there’s a high chance of an accidental leading/trailing space. If that fails, uninstall and reinstall the custom app, then generate a fresh token. All previous tokens are invalidated.
read_orders alone caps at 60 days of history. To pull further back, request read_all_orders from the Shopify Partner Dashboard, then re-enable it in the custom app’s scopes.
Open the custom app’s Configuration → Admin API access scopes and confirm every scope above is enabled. After enabling additional scopes, you must click Save — Shopify won’t re-issue the token, the same one will start working with the new permissions.
For ticket-writing format when filing a connector issue, see Working with the Ocular team → Connector-not-working tickets.