Before You Start

What the Sophi Shopify app needs — store plan and theme, the six app permissions and why each is needed, the customer data it shares, and the details to send Sophi before setup.

Check these before you create the app. Most of them take a minute; the permissions are the one thing that is hard to change later.

Your store

RequirementWhy
A Shopify plan with the Online Store sales channelThe assistant lives in your theme. Any plan works; checkout itself is not changed, so Shopify Plus is not required.
An Online Store 2.0 theme (JSON templates, "Add section → Apps" in the theme editor)App blocks can only be placed on 2.0 themes. All current Shopify themes are 2.0.
A staff account with app development permission in your Shopify organizationNeeded to create the app in the Dev Dashboard. The store owner has it; give it to whoever does the setup.
The store's time zone set to your own (Settings → General)Campaign end dates from your automatic discounts are read in the store's time zone.

Themes

The app is tested on Shopify's two theme families:

  • Dawn and the paid themes built on it.
  • Horizon and its family.

Two things differ by theme, and the app handles both:

  • After a chat add-to-cart, the app tells your theme the cart changed, so the cart drawer or pop-up opens and the cart count updates, just like the theme's own "Add to cart" button. If your theme doesn't react, use the After chat add-to-cart setting to open the cart page or reload the page instead (details).
  • The chat page. Page templates belong to a theme. If your theme can't hold the Sophi chat page block, the app adds the chat at the end of the page's main content.

The app's permissions

The app asks for six permissions. Sophi needs all six, and only reads data. write_pixels is the only write permission, and it is limited to the app's own purchase pixel.

PermissionShown asUsed for
read_productsView productsCatalog sync: products, variants, prices, images, collections, metafields
read_inventoryView inventoryCatalog sync: which sizes are in stock
read_discountsView discountsCatalog sync: active product-level automatic discounts (amount or percentage off, buy X get Y) become Sophi promotions, so the assistant knows about them. Order-level, free-shipping and code discounts are not read.
read_metaobjectsView metaobjectsCatalog sync: the names behind Shopify's standard product attributes (e.g. Skin type: Dry)
write_pixelsManage pixelsCreating the app's purchase pixel
read_customer_eventsView customer eventsRunning the purchase pixel

What the install screen shows. 1 All six permissions must be listed. 2 Only then Install — see Create and install the app.

Settle the permissions before the theme setup

If a permission is added to the app after it is installed, Shopify does not ask you to approve it — the store simply keeps the old permissions. The only fix is to uninstall the app and install it again. Install the app once, with all six permissions, before you set up the theme and the purchase pixel.

Customer data

  • Guests chat anonymously.
  • Logged-in customers: the app sends Sophi the customer's Shopify id and their first and last name, so the assistant can greet them and remember them across devices. No email address, phone number or address is sent.
  • Purchases: the pixel sends the order id, totals (tax, shipping, discounts, discount code) and the order lines, linked to the same shopper as the chat. No customer contact details.

Until the shopper consents through your cookie banner, the chat runs anonymously: nothing is stored in their browser, no name or customer id is sent, and no events are tracked. See Consent.

Shopify shows read_customer_events to merchants as access to customer data; that is why it appears on the install screen.

Send these to Sophi

Before setup, send the Sophi team:

  1. Your store's myshopify.com address, e.g. your-store.myshopify.com.
  2. Every domain shoppers use: the primary domain, with and without www (e.g. www.example.com and example.com). Sophi only answers chat requests from domains on your list. A missing domain is the most common reason the chat doesn't open.
  3. Your chat language: Turkish, English or Portuguese. One catalog language per store for now; language prefixes such as /en still work for the cart, checkout and chat page links.
  4. Your colour option name, if it isn't Renk, Color or Colour (for example Ton or Shade). Sophi makes one product per colour; options with Shopify colour swatches are found automatically.
  5. Where your product content lives, if you use metafields for things like ingredients, how to use or care instructions. Sophi shows them to the assistant as product sections. Shopify's standard attributes and product ratings come in without any setup.

On this page