
Connect Shopify to cmo.so
Maggie writes articles that answer what your shoppers search for and publishes them on your store, in a Resources blog that's in your sitemap and found by search but kept off your main blog.
Free to start · No credit card · You approve every post
One small app, one form
You make a private app for your store in Shopify's Dev Dashboard, then paste its two details into cmo.so. No password and no app store install.
Connect your Shopify store
Do the first three steps in Shopify, the rest in the cmo.so app. The app and the store must be in the same Shopify organisation.
Open the Shopify Dev Dashboard
Sign in to the Shopify Dev Dashboard with the organisation that owns your store and press Create an app.

Name the app
Give it a name you'll recognise, such as cmo.so. Leave the URLs as they are.

Add the write_content scope
Under API access, type write_content in Scopes, then press Create app.
Tip write_content is the only permission cmo.so needs: it creates blog articles.

Release the version
Shopify asks you to release this version of the app. Press Release.

Install it on your store
On the app's Overview press Install app, then choose your store.

Approve the install
Shopify lists what the app can access and notes that it hasn't been reviewed (it's your own private app). Press Install.
Tip Changed the scopes later? Release a new version and update the app on the store.

Copy the Client ID and Client secret
Back on the app's Overview, the Credentials panel shows the Client ID and Client secret. Copy each with its copy button.

Find your store address
In your store admin, Settings → Domains shows your-store.myshopify.com marked Primary. That's the address cmo.so needs.

Choose Shopify in the app
In the cmo.so app, go to Posts → Show me how (or Publishing settings → Change the connection) and choose Shopify (Client ID and secret).

Fill in the form and connect
Type your store address, paste the Client ID and Client secret and tap Check and connect. cmo.so checks them with Shopify before saving.

Articles appear in Resources
Maggie's articles go to a Resources blog that cmo.so creates on your store: in your sitemap and found by search, without crowding your main blog.

What you need
- A Shopify store you manageWith access to the Shopify Dev Dashboard in the same organisation as the store.
- Your website added to cmo.soMaggie builds your brand profile from it first.
- The write_content scopeThe only permission the app needs: it lets cmo.so create blog articles.
- Ten minutesMost of it is creating the app in Shopify.
Used by 600+ users and trusted by teams at
aeglesriphal.com
moonlakespa.com
shop.theteagroup.com
clo100.com
logtrics.io
mymorez.com
nextidal.com
otisapp.com
storaitelling.com
theheatpumps.co.uk
web-translations.com
exposeai.tech
orielipo.com
whitelabelcrowd.fund
elliptic.co
med.moonlakespa.com
netdex.co.il
orawellness.uk
reenest.com
syngage.ai
thepenthouseliving.com
zengolf.studio
imaintain.uk
rebuildingsociety.com
aurasocial.world
goaimex.com
moneyparents.com
newgenrenewables.uk
osmosisai.co
saunders.ac
teeza.app
thursdayclub.com
A store blog that brings in searchers
Articles shoppers search for
Buying guides, how-tos and comparisons planned from your products and what people type into Google.
Found, not in the way
The Resources blog sits in your sitemap and search, but off your main blog feed.
Pictures included
Each article goes out with a featured picture; Shopify hosts it for you.
Tagged for you
Each article is tagged with its topic and your brand, since Shopify blogs have tags, not categories.
You approve, or let it run
Every article can wait in Posts → Ready for your OK, and the content guard checks each one.
Your pace, your plan
One a day to start, up to your plan's limit, from 2 a day on Air to 96 on Elite.
Your marketing team, in your pocket
Real screens from the cmo.so app on iPhone.






A week with Maggie on your Shopify store
On Monday the app lists the week's articles in Posts → Ready: a gift guide, a care guide, an answer to the question customers email you most.
You tweak a product name in one and approve the lot.
Each day the next article appears in your store's Resources blog with its picture and tags, ready for Google to find. Posts → Out keeps the list with live links.
Things to watch on Shopify
Same organisation only
The Dev Dashboard app must be in the same Shopify organisation as the store; outside merchants can't connect this way.
Scope changes need a release
After changing scopes, release a new version and update it on the store before connecting.
Old shpat_ tokens
Older static access tokens are only accepted on ai.cmo.so, not in the app.
Secrets stay in the form
The Client secret goes straight to cmo.so over HTTPS, checked with Shopify. Maggie never sees it.
Shopify and cmo.so
- How it connects
- A Dev Dashboard app's Client ID and Client secret
- Permission
- write_content
- Where articles go
- A Resources blog, created for you; in your sitemap, off the main blog
- What's published
- Title, excerpt, featured picture, tags and the article
- Author
- AI CMO
- How often
- 1 a day to start; up to your plan's daily limit
- Free posts
- 30 once your website is verified
Cut the £5,900/mo marketing bill to £15/mo
Everything a marketing team does, done by Maggie.
| What needs doing | Without cmo.so | With cmo.so |
|---|---|---|
| Full-time marketing hire | £3,000/mo | Included |
| SEO and AI search (GEO) agency | £1,000/mo | Included |
| Content writer, AI-assisted | £500/mo | Included |
| Social media manager, freelance | £800/mo | Included |
| Designed pictures for every post | £300/mo | Included |
| SEO and GEO softwareRank tracking, site audits, AI visibility | £250/mo | Included |
| AI writing and image tools | £50/mo | Included |
| Working hours | Office hours | 24/7 |
| Total per month | £5,900+ | From £15/mo |
Typical UK costs for a small business in 2026, with AI already cutting freelance rates. Estimates only; your own quotes will vary.
- 5 social posts, 30 once verified
- 15 Maggie messages a day
- Upgrade any time
- 12 posts a day
- 150 Maggie messages a day
- All channels
- 96 posts a day
- 1,000 Maggie messages a day
- All channels
Per website, billed monthly. Blog and social posts share one allowance; your best plan sets how much you can talk to Maggie across all your websites.
Shopify blog automation: your questions
Still unsure?
Why a Resources blog instead of my main blog?
So your main blog stays exactly as you planned it, while Maggie's articles still help your store get found: the Resources blog is in your sitemap and reachable by search.
Each article is tagged with its topic and your brand, since Shopify blogs use tags rather than categories.
Does cmo.so need access to my orders or customers?
No. The app only needs the write_content scope, which lets it create blog articles. It can't see orders, customers or payments.
write_content is the only scope you type in when you create the app in the Dev Dashboard. When you install it, Shopify lists what the app can access, so you can see that for yourself before pressing Install. What cmo.so publishes is the title, excerpt, featured picture, tags and the article, into a Resources blog it creates on your store. The Client secret goes straight to cmo.so over HTTPS and is checked with Shopify; Maggie never sees it.
Why does the app have to be in the same organisation as my store?
Shopify's client credentials only work for stores in the same organisation as the Dev Dashboard app. Create the app from the organisation that owns your store, install it there, and the check will pass.
In practice, sign in to the Dev Dashboard with the organisation that owns the store before pressing Create an app. If someone builds the app in a different organisation, for example their own, the check won't pass, because outside merchants can't connect this way. If you have an older static access token beginning shpat_, it's only accepted on ai.cmo.so, not in the app.
The check says write_content is missing. What now?
Add the write_content scope in the app's configuration, release a new version and update the app on your store, then press Check and connect again.
Releasing a new version isn't enough on its own: the store keeps the old scopes until you update the app there. After updating, go back to the cmo.so form and press Check and connect. While you're there, check the store address is the your-store.myshopify.com address marked Primary under Settings → Domains, and that the Client ID and Client secret come from the same app.
How many articles will Maggie publish on Shopify?
New connections start at one article a day. You choose Posts per day in Publishing settings, up to your plan's limit: 1 before a plan, then 2 (Air), 12 (Pro), 24 (Max), 48 (Ultra) or 96 (Elite).
Each delivered article uses one post from your monthly allowance, and the app shows what's left. Turn Publishing off and written articles simply wait in order.
Can I edit an article before it reaches Shopify?
Yes. Open it in Posts → Ready: switch between Preview and Edit, change any words and Save. Rewrite asks Maggie for a new version with your note, Fix Markdown tidies the formatting, and Publish now sends it straight away on connections that support it.
Ideas for future articles sit in Posts → Ideas, where you can add your own, reorder the plan or delete any you don't want.
Will Maggie update older articles on Shopify?
If you want her to. In Publishing settings, Refresh older articles can be Off, When I ask or Automatic. Automatic uses a share of each day's posts (10 to 50%) for rewrites of articles older than 30, 60, 90 or 180 days.
Rewrites keep the same address, so links and search history stay; the Rewrite queue in Me shows what's suggested and what has been rewritten, and Search Console data steers which articles need it most.
What does the content guard check before a Shopify post goes out?
When it's on, the content guard reads each post before it goes out and checks it against your industry's rules (financial, medical, insurance, legal or education) and any rule you write yourself, such as never naming a competitor.
A post that may break a rule is held, as a draft on your website or in Review for social, with the reason and a suggested rewrite, even if posts normally go out on their own. You can see what it held and why in Publishing settings.
Can I check every Shopify post before it goes out?
Yes, and that's how it starts. New posts wait in the app (Posts → Ready for articles, Social → Review for social posts) until you approve them. You can edit any post, ask Maggie to change it in your own words, or delete it.
When you trust the results, switch the channel to go out on its own; the content guard keeps checking each post first and holds anything it isn't sure about. You can switch back, or pause, at any time.
How soon will Shopify bring results?
Your brand profile and the first drafts are ready within minutes of entering your website, and the first posts can go out the same day once you approve them.
Search traffic builds over weeks to months as Google and AI assistants find and trust your pages; social reach grows with regular posting. Connect Search Console to see which posts bring clicks, and Maggie uses it to choose what to improve.
Do I need to verify my website first?
Verifying proves the website is yours. It unlocks your 30 free posts and, for some connections, publishing itself. You can verify with a work email at your domain, a DNS TXT record (one tap if your domain is on Cloudflare), the WordPress plugin, or by asking us to check by hand, usually within one working day.
Free email addresses such as Gmail or Outlook can't be used for the email check.
Can I manage Shopify from my phone?
Yes. Everything on this page works in the cmo.so app on iPhone and on the web at app.cmo.so: connecting, approving, editing and pausing.
You can also ask Maggie from ChatGPT or Claude through the cmo.so connector, for example to see what's waiting for you or to change a post, and she shows a card before she changes anything.
Give your store a blog that sells
Enter your website. Your brand profile and first articles are ready in minutes.
- Free plan, no card needed
- You approve every post
- Cancel any time





