How it works
Shopify sends real-time webhooks to Outpost whenever a customer is created, updated, or deleted. Outpost processes those events and updates your member list accordingly. Sync direction: Shopify → Outpost only. Changes made in Outpost are not pushed back to Shopify.What syncs today
The current behavior is tag-driven. Outpost looks at the customer’s Shopify tags and acts only when they match a specific subscription-tag set:- Customers with subscription tags that the integration is configured to recognize are created in Outpost as complimentary members on the corresponding tier.
- Email, first name, and last name are stored on the new member record.
- Subsequent updates to those customers (tag changes, profile updates) keep the Outpost member in sync.
- Customers without matching subscription tags are not imported.
The active subscription tag, the target Ghost tier, and the member tag applied to imported members are all configured in the Shopify integration settings in Outpost. A customer is treated as a complimentary member only when their Shopify tags include both the configured member tag and the active subscription tag.
Roadmap
Future work for this integration will broaden the scope so that any Shopify purchase can be linked to a Ghost subscriber, not just customers carrying the configured subscription tags. We’ll update this page as those changes ship.Setup
Create a Shopify custom app
In your Shopify Admin, go to Settings → Apps and sales channels → Develop apps. Create a new app and grant it read access to Customers and Products (
read_customers, read_products).Connect Outpost to Shopify
Go to the Shopify integration in Outpost and enter:
- Your shop name (e.g.,
yourstore.myshopify.com). - Your Shopify API key and API secret key.
- Your Admin API access token from the custom app.
- The active subscription tag name to look for on Shopify customers.
- The target Ghost membership tier to assign matching customers to.
- The member tag to apply to imported members.
Add Outpost's webhook URLs in Shopify
Outpost displays the webhook URLs you need to register inside Shopify (customer create, customer update, customer delete). Paste each URL into Shopify Admin under Settings → Notifications → Webhooks, with format set to JSON. Outpost does not auto-register these — paste them manually.
Matching existing members
When a Shopify webhook arrives, Outpost matches the customer to an existing member by email:- If found — the existing member record is updated.
- If not found — a new complimentary member is created using the Shopify subscription-tag mapping.
FAQ
Does Outpost push data back to Shopify?
Does Outpost push data back to Shopify?
No. Sync runs Shopify → Outpost only.
What happens if a Shopify customer is deleted?
What happens if a Shopify customer is deleted?
Outpost receives the deletion event and can remove the corresponding member, depending on your configuration.
Can I choose which Shopify tag assigns a tier?
Can I choose which Shopify tag assigns a tier?
Yes. You set the active subscription tag and the target Ghost tier in the Shopify integration settings. A customer is imported as a complimentary member on that tier when their tags include both the configured member tag and the active subscription tag.
How quickly do changes sync?
How quickly do changes sync?
Shopify sends webhooks in real time. Most events appear in Outpost within seconds, though they’re processed through a queue so there may be a brief delay during high-traffic periods.

