Skip to main content
The Shopify integration listens for customer events in your Shopify store and turns selected customers into Outpost members. Today it is scoped to a specific subscription-tag flow; in the future it will connect Shopify purchases to Ghost subscribers more broadly.

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

1

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).
2

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.
Then configure the tag-to-tier mapping:
  • 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.
3

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.
4

Confirm with a test customer

Add a Shopify customer with one of the recognized subscription tags and confirm they appear in Outpost as a complimentary member on the expected tier.

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

No. Sync runs Shopify → Outpost only.
Outpost receives the deletion event and can remove the corresponding member, depending on your configuration.
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.
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.