CMS integrations
Shopify
GrowGanic publishes each finished article to your Shopify store blog, on your own storefront domain.
A primary destination. Your article lives here and the canonical URL points at it, so this is the site Google credits. About 1 minute, in one click.
#What connecting does
Every article GrowGanic finishes is published to your store blog and appears on your storefront, on your own domain, under your brand.
GrowGanic asks for blog content only: read_content and write_content. No orders, no customers, no products, no payment data. Merchants read that list on Shopify's own dialog, and a short one is the difference between approving and backing out.
With one blog it is chosen for you. With several, GrowGanic starts on your News blog, or your oldest one, and never waits: you can switch it any time from Integrations, and articles already published stay where they are.
You never type a store address. GrowGanic resolves your store from the project domain, and if it cannot, Shopify's own account picker asks you which store to install on.
#Before you start
- A blog has to exist on the store before anything can publish to it. Open Online Store, then Blog Posts in your Shopify admin and create one if there is none. Shopify refuses a post with no parent blog, and it is the single most common reason a Shopify connection fails on the first article.
#Connect
In one click
- Install GrowGanic from the Shopify App Store, or click Connect Shopify here. Either way, Shopify shows you its own permission screen.
- Click Install on that screen. We ask for blog content only: no orders, no customers, no products. Nothing is typed and no credentials change hands.
That is it. You land back in GrowGanic connected, and articles publish to your store blog on their own from then on.
#Permissions we ask for
Every permission below is used by a call GrowGanic actually makes. We ask for nothing we do not use.
| Permission | Used for | Why |
|---|---|---|
| read_content | Finding your blogs and reading a post back | So we know which blog to publish to and can confirm what landed. |
| write_content | Creating, updating and deleting article posts | This is the publishing itself. |
Those two are the whole ask. GrowGanic requests no access to orders, customers, products, inventory, discounts, payment data or store settings, and could not read any of them with the token it holds.
#What we write
| Field | What goes in it |
|---|---|
| title | The article title. |
| body | The article body as HTML. |
| handle | The article slug. |
| summary | The excerpt. |
| image | The hero image, with alt text. |
| isPublished | True, or false when you have asked for drafts. |
| global.title_tag and global.description_tag | The meta title and description, written as Shopify metafields, which is where the storefront theme reads them from. |
Fields your setup does not have are skipped rather than guessed at, and the article publishes with the ones it does have.
The hero image
The hero is sent as a URL and Shopify rehosts it onto its own CDN, which is how Shopify handles every article image.
The alt text is the article's own image description where one exists, then its meta description or excerpt. It is never just the title, because a title repeated as alt text tells a screen reader nothing the heading did not already say.
The copy Shopify made carries the image's content marker, which is how a retry after a lost response can tell your store already has the right picture instead of sending it twice.
#Publishing behaviour
Articles are created through Shopify's Admin GraphQL API, on the current supported API version.
Editing an article in GrowGanic updates the same post. It never creates a second one.
When GrowGanic first connects, and whenever you push an article across by hand, it checks whether your blog already holds that article, so catching up on your back catalogue cannot duplicate something you published yourself.
You can set articles to arrive as drafts instead of publishing live, from Settings in GrowGanic.
The access token Shopify issues lasts sixty minutes and GrowGanic refreshes it automatically. There is nothing for you to renew.
If this destination is ever unreachable, the article is not held. It publishes to your GrowGanic blog and moves here on its own once the connection is healthy again. GrowGanic never holds a finished article back waiting for you.
#Disconnect
Disconnecting in GrowGanic stops publishing. Posts already on your store blog stay published and stay yours.
Uninstalling GrowGanic from your Shopify admin does the same thing from the other side. Shopify notifies us, the connection is switched off, and the stored credential is stripped out of our database in the same step. That notification is authoritative, so nothing is left behind on either side.
Open Integrations in GrowGanic, find this destination and click Disconnect. The stored credential is deleted from our database in the same step, not marked inactive. Articles already published stay exactly where they are, and they are yours.
#Troubleshooting
| What you see | Why | Fix |
|---|---|---|
| No blog exists on this Shopify store. | The store has no blog for a post to belong to. | Open Online Store, then Blog Posts in your Shopify admin, and create at least one blog. |
| Shopify did not grant the read_content and write_content scopes. | The permission screen was dismissed before Install was clicked. | Click Connect Shopify again and approve both permissions on Shopify's screen. |
| Shopify no longer accepts this connection. | The app was uninstalled, or its credentials were rotated. | Click Reconnect Shopify on the Integrations page and approve again. |
Still stuck? Email hey@growganic.io and tell us the sentence you are seeing. Or read the other destinations.