What Tilly reads and writes in each tool
Tilly works inside the tools your store already uses. For each one, this page lists how you connect it, the permissions it asks for, what Tilly reads, and what it writes.
Every write waits for your approval. Emails arrive as drafts, ads arrive paused, blog posts arrive hidden unless you choose live, and SEO fixes are applied one at a time when you press Apply. The free audit needs nothing connected.

Shopify
How you connect: Install the Tilly app from Shopify. The free audit needs no connection: it reads your public store pages.
Permissions asked for: write_products, write_content, write_files, read_orders, read_customers, read_discounts, read_themes, read_online_store_navigation, read_reports.
- Reads: Shop details and products.
- Reads: Products, collections, pages and blog posts, with their SEO titles and descriptions.
- Reads: Active discount codes, so an email or ad only mentions a code that exists.
- Reads: Orders as daily totals, for reports. No individual customer records are stored.
- Reads: Your published theme, menus and daily sessions, to show what changed on the store and when (Store changes).
- Writes: SEO titles and meta descriptions, one fix at a time, when you press Apply.
- Writes: Product image alt text, when you press Apply.
- Writes: A blog post's cover and illustrations, into your store's Files, when you press Publish on the post.
- Writes: The previous value back again, when you undo a fix.
- Writes: An approved blog post as an article in the blog you pick, hidden unless you choose live, when you press Publish; made live, or deleted again, only when you press those buttons.
- Does not publish a blog post you have not approved, change your theme or create discount codes.
Klaviyo
How you connect: Paste a Klaviyo private API key. It is stored encrypted.
Permissions asked for: Write access to templates, campaigns and flows. Read access to lists, segments and metrics.
- Reads: Lists and segments, to choose who a flow or campaign goes to.
- Reads: Existing flows, so a new one never replaces a running one.
- Reads: Email metrics and results for the emails Tilly made.
- Writes: Email templates.
- Writes: Draft flows.
- Writes: Draft campaigns.
- Never switches a flow live and never schedules or sends a campaign. You do that in Klaviyo.
Meta (Facebook and Instagram ads)
How you connect: Sign in with Facebook and choose the ad account and Page.
Permissions asked for: ads_read, ads_management, business_management, pages_show_list, pages_read_engagement.
- Reads: Ad accounts, Pages, Instagram accounts and pixels.
- Reads: Campaigns, ad sets, ads and their copy.
- Reads: Ad results for the last 30 days, across the whole account.
- Writes: Ad images, creatives and ads, always created paused.
- Writes: Test and scaling campaigns and ad sets, created paused with the budget you set.
- Writes: Pause, switch on or raise a budget by 20% on an existing ad, only when you press and confirm that suggestion.
- Never switches an ad on or changes a budget on its own.
Google Ads
How you connect: Sign in with Google and choose the Google Ads account.
Permissions asked for: https://www.googleapis.com/auth/adwords.
- Reads: Accounts and ad groups.
- Reads: Spend by day, for reports.
- Reads: Keyword ideas and search volumes, for keyword research.
- Writes: One responsive search ad at a time, created paused in an existing ad group you choose.
- Does not create campaigns or change bids and budgets.
Google Search Console
How you connect: Sign in with Google. It is a separate connection from Google Ads, so you can share rankings without sharing your ad account.
Permissions asked for: https://www.googleapis.com/auth/webmasters.readonly.
- Reads: Your sites.
- Reads: Search queries, pages, clicks, impressions and positions for the last 28 days, and the 28 days before.
- Writes: nothing.
- Read only. Nothing is ever written to Search Console.
Google Analytics
How you connect: Sign in with Google. Tilly picks the Google Analytics 4 property that measures your store when only one does; otherwise you choose it. It is a separate connection from Google Ads and Search Console.
Permissions asked for: https://www.googleapis.com/auth/analytics.readonly.
- Reads: Your Google Analytics 4 properties and the web addresses they measure, to find the one that is your store.
- Reads: Visits, engaged visits, key events, purchases, purchase revenue and add-to-carts, totalled by the page a visit started on. No visitor-level data.
- Reads: For each page fix you mark done, the page's four weeks after against its four weeks before; for each published blog post, the visits and sales that started on it.
- Writes: nothing.
- Read only. Nothing is ever written to Google Analytics.
Stripe
How you connect: Used for billing when you signed up on the website rather than through the Shopify app.
- Reads: Your subscription and payments with Tilly.
- Writes: Saves your card at sign-up without charging it.
- Writes: Plan subscriptions and credit pack purchases, when you choose them.
- Does not touch your store or your own Stripe account.
Questions people ask
Does Tilly work with Omnisend or Shopify Email?
Not yet. Klaviyo is the only email tool Tilly writes into today.
Can Tilly change my live Klaviyo flows?
No. Tilly only creates draft flows and draft campaigns. If a similar flow is already running, Tilly builds the new one as a draft next to it and leaves the running one alone.
Why does Tilly ask for write access to products in Shopify?
For SEO fixes: search titles, meta descriptions and image alt text. Tilly writes them only when you press Apply on a fix, and can put the old value back when you undo it.
Do I need to connect anything to try Tilly?
No. The audit reads your public store pages. Connections are needed to publish and to read results.
See this on your own store
Paste your store URL. The first pass takes about a minute and needs no account. Save a card (nothing is charged) and Tilly reads the whole store and works out who buys from you.