App Permissions
When you install Funneled, Shopify asks you to approve a set of permissions. This page explains what each permission does and why we need it.
Funneled requests 27 permissions — 11 for the Admin API and 16 for the Storefront API.
Admin API: read_products, write_products, read_orders, read_publications, write_publications, read_script_tags, write_script_tags, read_inventory, write_inventory, read_files, write_files
Storefront API: unauthenticated_read_product_listings, unauthenticated_read_checkouts, unauthenticated_write_checkouts, unauthenticated_read_product_inventory, unauthenticated_read_product_tags, unauthenticated_read_customers, unauthenticated_write_customers, unauthenticated_read_customer_tags, unauthenticated_read_content, unauthenticated_read_metaobjects, unauthenticated_read_bundles, unauthenticated_read_selling_plans, unauthenticated_read_product_pickup_locations, unauthenticated_read_shop_pay_installments_pricing, unauthenticated_read_bulk_operations, unauthenticated_write_bulk_operations
Product display and management
Reading your products
Shopify scope: read_products
Read product, variant, collection, and image data. We need this to display your products on funnel pages and to power the product picker in the funnel editor.
Creating and updating products
Shopify scope: write_products
Create, update, and delete products, variants, images, and collections. We need this to import products from external URLs into your Shopify store and to create bundle products for use as funnel-only offers.
Reading inventory
Shopify scope: read_inventory
Read inventory levels and inventory item data across your locations. We need this when importing products to determine the correct inventory locations.
Setting inventory
Shopify scope: write_inventory
Adjust inventory quantities and connect inventory items to locations. We need this to set stock levels on imported products so they're immediately available for purchase.
Cart and checkout
Reading checkout data
Shopify scope: unauthenticated_read_checkouts
Read checkout line items, totals, and pricing through the Storefront API. We need this to display accurate cart contents on your funnel pages.
Creating and modifying checkouts
Shopify scope: unauthenticated_write_checkouts
Create and modify checkouts — adding items, applying discount codes, and setting shipping. We need this to power the full shopping experience on your funnel pages through to Shopify's secure checkout.
Sales channels and publishing
Reading sales channels
Shopify scope: read_publications
Read which sales channels exist and which products are published to them. We need this to verify that imported products are available on your online store.
Publishing to sales channels
Shopify scope: write_publications
Publish and unpublish products to sales channels. We need this to make imported products available on your online store.
Conversion tracking
Reading orders
Shopify scope: read_orders
Read order and transaction data. We need this to connect purchases back to the funnel pages that drove them, powering your conversion analytics.
Attribution script
Shopify scopes: read_script_tags, write_script_tags
Read, create, and manage JavaScript snippets on your storefront. We need this to install an attribution script that connects funnel page visits to purchases on your Shopify store. You can enable or disable the attribution script at any time from your Funneled dashboard.
Storefront product data
These permissions let your funnel pages display product information directly to customers through Shopify's Storefront API.
| Permission | What it grants |
|---|---|
unauthenticated_read_product_listings | Read product listings published to the sales channel |
unauthenticated_read_product_inventory | Read product availability and inventory quantities |
unauthenticated_read_product_tags | Read tags applied to products |
Media management
Shopify scopes: read_files, write_files
Read and upload files in your store. We use this to manage product images for your funnel pages.
Customer experiences
Reading customer data
Shopify scope: unauthenticated_read_customers
Read customer account data through the Storefront API. We use this to personalize funnel experiences for returning customers.
Customer account creation
Shopify scope: unauthenticated_write_customers
Create and update customer accounts through the Storefront API. We use this to enable customer account creation directly from your funnel pages.
Customer segmentation
Shopify scope: unauthenticated_read_customer_tags
Read tags applied to customers. We use this to segment customers for targeted funnel experiences.
Content and custom data
Store content
Shopify scope: unauthenticated_read_content
Read store pages and blog content through the Storefront API. We use this to display your Shopify content on funnel pages.
Custom data
Shopify scope: unauthenticated_read_metaobjects
Read custom metaobject entries and definitions. We use this to display your custom data on funnel pages.
Additional product features
Product bundles
Shopify scope: unauthenticated_read_bundles
Read product bundle definitions and components. We use this to support product bundles on your funnel pages.
Subscriptions and pre-orders
Shopify scope: unauthenticated_read_selling_plans
Read selling plan groups including subscriptions, pre-orders, and try-before-you-buy plans. We use this to support subscription products on your funnels.
Local pickup
Shopify scope: unauthenticated_read_product_pickup_locations
Read in-store pickup availability and locations. We use this to show local pickup options on your funnel pages.
Installment pricing
Shopify scope: unauthenticated_read_shop_pay_installments_pricing
Read Shop Pay Installments eligibility and pricing. We use this to display "Pay in installments" messaging on your funnels.
Bulk operations
Shopify scopes: unauthenticated_read_bulk_operations, unauthenticated_write_bulk_operations
Run and read batch queries through the Storefront API. We use this for efficient bulk data operations.
What we do NOT access
Funneled does not request or use permissions for:
- Customer personal data — we don't read emails, addresses, or phone numbers
- Financial data — no access to payouts, transactions, or billing
- Theme files — we never modify your store's theme
- Store settings — your store configuration stays untouched
- Draft orders — not requested
- Shipping and fulfillment — not requested
- Marketing and promotions — not requested
- App billing — our billing runs through Stripe, not Shopify
Collaborator access
During onboarding, we'll request collaborator access to your Shopify store. This is a staff-level account with a slightly higher level of permissions than the app itself — it allows us to install and update the Funneled application on your behalf, troubleshoot issues directly, and ensure everything is configured correctly.
Collaborator access is managed through Shopify's standard permissions system. You can review or revoke it at any time from Settings > Users and permissions in your Shopify admin.
Complete permission reference
Admin API (11 scopes)
| Scope | Purpose |
|---|---|
read_products | Read product, variant, and collection data |
write_products | Create and update products, variants, and metafields |
read_orders | Read order and transaction data |
read_publications | Read sales channel and publishing data |
write_publications | Publish products to sales channels |
read_script_tags | Read installed storefront scripts |
write_script_tags | Install and manage storefront scripts |
read_inventory | Read inventory levels across locations |
write_inventory | Adjust inventory quantities |
read_files | Read uploaded store files |
write_files | Upload and manage store files |
Storefront API (16 scopes)
| Scope | Purpose |
|---|---|
unauthenticated_read_product_listings | Read product listings |
unauthenticated_read_checkouts | Read checkout data |
unauthenticated_write_checkouts | Create and modify checkouts |
unauthenticated_read_product_inventory | Read product availability |
unauthenticated_read_product_tags | Read product tags |
unauthenticated_read_customers | Read customer data |
unauthenticated_write_customers | Create and update customers |
unauthenticated_read_customer_tags | Read customer tags |
unauthenticated_read_content | Read pages and blog content |
unauthenticated_read_metaobjects | Read custom metaobjects |
unauthenticated_read_bundles | Read product bundles |
unauthenticated_read_bulk_operations | Read bulk operation results |
unauthenticated_write_bulk_operations | Run bulk operations |
unauthenticated_read_product_pickup_locations | Read pickup locations |
unauthenticated_read_selling_plans | Read subscription plans |
unauthenticated_read_shop_pay_installments_pricing | Read installment pricing |
Questions?
If you have questions about our permissions or data practices, reach out to your account manager on Slack.
