Connect Shopify to Kreel
Shopify is usually the first platform you connect, since it’s the source of your revenue. Once you connect one or more Shopify stores, their orders, revenue, customers, and products show up next to your ad spend from Meta and Google and your email performance from Klaviyo. You can also connect that data to your own AI agent over MCP or the CLI.
Before you start
Section titled “Before you start”You need:
- A Kreel account. Sign up at app.kreel.ai.
- Admin or owner access on the brand in Kreel, since only admins and owners can start or remove a connection.
- Access to the Shopify store’s admin, since you approve the connection from Shopify’s own installation screen.
- Your store’s
myshopify.comdomain, for exampleyour-store.myshopify.com.
Connect Shopify
Section titled “Connect Shopify”- Sign in to Kreel at app.kreel.ai.
- In the left navigation, open Connections.
- Find Shopify and click Connect.
- Enter your store’s
myshopify.comdomain and click Continue. - You are sent to Shopify to review the requested permissions. Kreel requests read-only access only. Approve to continue.
- Shopify returns you to Kreel and the connection shows as active.
Reconnecting a store you already connected before opens the same flow in re-authorize mode, using the same domain.
Connect another Shopify store
Section titled “Connect another Shopify store”If the same business operates more than one store, you can attach them to the same Kreel brand.
- On Connections, expand the Shopify row with Details.
- Click Add another store.
- Enter the other store’s
myshopify.comdomain and continue. - Approve the installation in that store’s Shopify admin.
The new store is added alongside the existing stores and starts its own historical sync. Kreel blends every store by default; use the dashboard’s account filter to focus on one store or a saved group. See Multiple connected accounts for filtering, currencies, and historical-coverage behavior.
What Kreel reads
Section titled “What Kreel reads”Kreel connects with read-only access to your Shopify store. It reads:
- Orders (
read_orders,read_all_orders) - order details, line items, discounts, taxes, and refunds. - Customers (
read_customers) - customer records, order counts, marketing consent, and addresses. - Products (
read_products) - your catalog, including variants, pricing, and images. - Store details - basic shop information such as your store name and currency.
The read_all_orders permission is what extends order visibility beyond recent orders to
your store’s complete order history.
That is what lets Kreel back-fill years of past orders during the first sync, not just
what happened recently.
Kreel never creates, edits, cancels, or deletes anything in Shopify. Every sync call reads data; none of them write to your store.
First sync
Section titled “First sync”After you connect, Kreel starts syncing automatically.
Recent data (roughly the last 30 days) comes in first, so current orders and revenue usually show up within minutes. Kreel then keeps working backward on its own: the past year or so, then further back, and for Shopify specifically all the way through your store’s complete order history. Shopify is the one platform where Kreel backfills all the way back to your first order. Meta, Google, and Klaviyo backfill up to about two years.
While this runs, the Connections page shows progress as a set of checkpoints - Recent reporting, Monthly YoY, Full YoY, and (Shopify only) All order history - each checked off as Kreel verifies that range is synced. A status line tells you what is ready now and what is still filling in, for example:
Ready to use through {date} · history backfilled to {month} and filling backwards
Customers and products sync in full early on, so your catalog and customer list are current quickly, while order history continues to fill in behind them. You do not need to keep the page open.
After the first sync, Kreel keeps Shopify data current automatically and checks periodically for anything that fell behind. See Sync and data freshness for the full cadence across all platforms.
Sales channels
Section titled “Sales channels”Shopify orders carry the channel they were placed through - your Online Store, Point of Sale, a draft order, or a third-party channel like a marketplace or social storefront. Kreel resolves third-party channel ids to their human name (for example “Facebook & Instagram”) where Shopify’s order data includes it; a channel Kreel can’t yet resolve still shows, just labeled by its raw id until a later sync fills in the name.
Every brand-wide dashboard page has a sales channel filter that includes or excludes channels from Shopify sales figures. It only affects Shopify sales data - ad spend and email metrics are unaffected. Manage which channels are included by default in Settings → Brand and data management.
Order attribution
Section titled “Order attribution”For orders where Shopify captured a customer journey, Kreel derives an acquisition channel - paid search, paid social, other paid, organic search, organic social, email, SMS, affiliate, referral, or direct - from Shopify’s own first-visit attribution. It’s available as a dimension on Cohorts.
Not every order has one:
- Not captured means Shopify’s journey data is missing for that order - a legacy order synced before Kreel captured this, or a journey Shopify hadn’t finished resolving yet.
- Unattributed means Shopify did resolve the order’s journey but found no identifiable first visit.
Both are shown separately from real channels, including Direct, so nothing is silently folded into another bucket. Very old orders can permanently lack journey data; re-syncing a store can recover attribution for orders that were originally synced before this shipped.
Product costs and margin
Section titled “Product costs and margin”Kreel can show contribution margin alongside revenue: net merchandise revenue, excluding tax and shipping, minus the current cost of goods sold, plus refunded cost, minus an optional fulfillment allocation. Unit costs come from Shopify’s own inventory cost by default; you can override the cost for any product or variant in Product costs. Margin is only reported once enough of a product’s sold revenue has a known cost - below that threshold, Kreel shows cost coverage instead of a margin figure, so a partly-costed catalog never understates margin. See the Products tab on Performance for margin, and Product costs to manage overrides.
Product identity
Section titled “Product identity”Shopify SKUs can be messy - the same physical product listed under slightly different variant SKUs, or the same SKU reused across stores. Product identity lets you merge, split, or exclude products so your product reporting reflects how you actually think about your catalog, rather than however Shopify happens to have recorded it. Product sync assembles each product’s variants and images under their parent product, so variants no longer show up as duplicate, product-like entries in your counts or in Product identity.
Returns by product
Section titled “Returns by product”The Products tab on Performance also shows a return rate per product - refunded units divided by sold units for the selected period - so you can spot products with unusually high return activity. It’s a refund-activity signal, not a defect score: rates can exceed 100% when refunds land for units sold in an earlier period.
See your data
Section titled “See your data”Once the first sync finishes, open Performance in the left navigation. It blends orders, revenue, and refunds from the included Shopify stores with your ad spend from Meta and Google and your email revenue from Klaviyo.
Connect your AI agent (optional)
Section titled “Connect your AI agent (optional)”If you use an AI assistant like Claude or ChatGPT, you can connect Kreel to it over MCP or the CLI and ask questions about your Shopify data directly. See Agents overview to get started.
Disconnect
Section titled “Disconnect”To disconnect Shopify, open Connections, find Shopify, and click Revoke. Kreel stops syncing immediately and deletes the stored Shopify credentials. Synced Shopify data is kept for 90 days in case you reconnect, then permanently deleted.
To remove only one store while keeping the other Shopify stores connected, expand Details and use Remove on that store’s account row. Removing it stops its sync and takes it out of every report without affecting the other stores. Reconnecting the same store within 90 days keeps its history intact.
Need help?
Section titled “Need help?”Email support@kreel.ai and we will help you get connected.