Skip to main content

Shopify App Permissions and Scopes FAQs

Which Shopify permissions Cooee requests, what each one powers, and why the install screen mentions sensitive customer data.

Written by Shashank Agrawal

Which permissions does Cooee request, and what does each one do?

Cooee requests the following access scopes when you install the app. Each one maps to a specific part of the product.

Permission

What it powers

What breaks without it

read_customer_events

Activates the Cooee web pixel, which records Shopify checkout events — and checkout events from third-party providers such as GoKwik and Shiprocket.

The pixel cannot be activated. Checkout Started, Billing Info Submitted, Address Submitted and Checkout Complete are all lost, along with every metric derived from them.

write_customers

Writes visitor details captured by Cooee back to the Shopify customer record.

Data-collection pop-ups stop showing, so email and mobile capture no longer works.

write_orders

Reads past and new orders. Write access is used only to tag orders with Cooee-attributed revenue and to clean up the identifiers Cooee added — see Shopify Token Security and Permissions FAQs.

Popular-item detection and revenue attribution stop working.

write_discounts

Registers the Cooee discount functions behind our discount types and progress-bar milestones, and creates campaign discounts.

Discount-based campaigns and progress-bar milestones are unavailable. Existing discount data is untouched.

read_products
read_inventory

Catalogue, price and stock data for recommendation and product widgets.

Widgets have no catalogue to render, and out-of-stock items cannot be filtered out.

read_themes

Installing and updating the Cooee theme app extension and to run theme A/B tests.

Cooee cannot be embedded in your storefront.

write_pixels

Registers the Cooee web pixel extension.

The pixel cannot be registered.

write_files

Uploads campaign creatives, assets and videos to your store's CDN.

Campaign images and videos must be hosted outside your store.

write_draft_orders
write_gift_cards

Cart and pre-checkout flows, and gift-card-based campaign rewards.

The corresponding campaign types are unavailable.

read_all_orders
(optional)

Reads order history beyond Shopify's default 60-day window.

Nothing. This scope is optional and Cooee works without it.

Why does the install screen say Cooee has access to sensitive customer data?

Cooee is built on Shopify's web pixel, and the events it needs — Checkout Started, Checkout Complete and the rest — are Customer Event data. Reading them requires the customer-event access scope.

On Shopify's side, that scope is bundled with access to personally identifiable customer data such as name, address and phone number. There is no narrower scope that grants only the anonymised event stream. So as soon as an app requests customer-event access, Shopify shows the notice about access to sensitive customer data — and it shows it to every app in this category, including ours.

Shopify's consent model is also binary per scope: a scope is either granted or not. There is no way to accept the event stream while declining the PII bundled with it.

The notice therefore tells you which category of data an app can reach, not how much of it the app actually uses. For exactly what Cooee collects and how it is stored, see Data Privacy & PII FAQs.

Can I install Cooee without granting customer data access?

No. Every customer-data scope maps directly to a feature, as listed above: read_customer_events is checkout tracking, write_customers is email and mobile capture, and write_orders is revenue attribution. These are what Cooee's personalisation and reporting are built on, so removing them does not produce a reduced version of Cooee — it produces an installation that cannot do its job.

Removing only some of them does not help either. Because Shopify shows the sensitive-data notice when any customer-data scope is present, partial removal costs you features without giving you a cleaner install prompt.

Our brand does not run discounts. Can those permissions be removed?

write_discounts is the one scope Cooee does not otherwise depend on. Dropping it disables discount functions and dynamic discount creation at the source — Cooee cannot create or modify a discount, regardless of how a campaign is configured — and leaves the rest of the product working.

We do not currently support configuring this per store, so it is not something you can toggle today. If this matters for your brand, raise it with your Cooee contact.

Will these permissions change over time?

They can, as the product changes. Shopify requires apps to request approval for new scopes, and you will be prompted to review and accept any change before it takes effect. The current list is always shown on the Shopify install screen.

Did this answer your question?