The customer portal

Real self-service for your subscribers · Every permission you control as the merchant

1. What the portal is

The customer portal is where your subscribers manage their own subscriptions instead of emailing you. It ships as a customer account extension — a page inside the customer's account on your storefront — and it inherits your store's branding. There's no Sublyra chrome and nothing that looks bolted on.

Subscribers see their active subscriptions, next delivery date, order history, and — depending on your settings — loyalty rewards, their referral code, and discounted add-on offers. Every action they take applies to the real Shopify subscription contract, not a copy, and every action is written to your audit log with the subscriber as the actor.

Self-service is retention, not just support deflection. A subscriber who can skip a delivery in ten seconds skips instead of cancelling. The portal's own stats (section 7) show you exactly how many cancels never happened because an easier option existed.

2. Enabling it for your store

1 Open Sublyra admin → Settings → Customer portal.

2 Click Enable in customer accounts — this takes you to Shopify's customer accounts settings, where the extension is switched on for your store.

3 Set your permissions (section 5) and save.

From then on, any logged-in subscriber finds the portal in their customer account, and a banner on the order-status page deep-links them to it after each order.

Security, briefly: subscribers authenticate through Shopify's own customer accounts login. The portal verifies that session and refuses any subscription that doesn't belong to the signed-in customer — one subscriber can never see or touch another's contract, even by crafting a request directly.

3. What subscribers can do

ActionWhat happensControlled by
Skip the next deliveryThe next order is pushed out by one full interval; the schedule after that continues normallySkip permission
RescheduleThe subscriber picks a new date for the next delivery (tomorrow is the earliest selectable)Always available
PauseThe subscription stops billing and shipping until resumedPause permission
ResumeA paused subscription goes active again. Always available — even if you disable pause, a subscriber who paused earlier can still come backAlways on
Swap productsExchange the subscribed item for another variant of the same product — a different size, scent or grindSwap permission
CancelCancels the contract, subject to your cancellation flow and any minimum-commitment policy — see section 4Cancel permission
Update payment methodSends the subscriber Shopify's secure card-update email so they can replace an expiring card themselvesAlways available
Accept an upsellDiscounted add-on offers you configured under Settings → Upsells appear in the portal; one click adds the product to the subscription at the offer priceUpsells permission
View rewards & referralsLoyalty credit balance, the rewards ladder and which tiers they've unlocked, plus their referral code and shareable linkLoyalty & rewards permission
View order historyRecent subscription orders with dates, status and totalsAlways on
Sensible guardrails are built in. Actions only run when they make sense for the contract's state — you can't skip a paused subscription (the subscriber is told to resume first), can't resume an active one, and can't act on a cancelled one. A swap can only move between variants of the product already on the contract, so it can't be used to sneak an unrelated product in at plan pricing.

4. The cancel experience

Cancellation in the portal is where your retention setup pays off — it's governed by two merchant-controlled layers:

Layer 1: minimum commitment. If the subscriber's plan has a min cycles policy (set on the selling plan), the portal blocks the cancel and tells them exactly how many orders remain — "This subscription can be cancelled after 3 billing cycles — 1 completed so far." This is enforced server-side, not hidden in the UI.

Layer 2: the cancellation flow. Your reason-to-save-offer mapping from Settings → Cancellation flow drives what the subscriber is offered when they go to cancel — a discount, a delay, a swap, a pause, or a route to support. A subscriber who accepts a save offer stays active with the offer attached; one who declines cancels, and the reason is recorded either way. That reason data is the most useful churn signal you get.

Cancellation flows are available on the Starter plan and above — see sublyra.com/pricing. If you disable self-serve cancel entirely (section 5), subscribers must contact you instead — legal in most places, but weigh it against the goodwill and the reason data you lose.

5. Merchant permissions

Everything above is togglable in Settings → Customer portal → What subscribers can do:

PermissionWhat turning it off means
Skip a deliverySubscribers can't push an order out; pause and cancel become their only levers
Pause subscriptionNo self-serve pausing. (Resume stays available regardless.)
Swap productsThe variant-switch option disappears
Self-serve cancelCancelling requires contacting you — your save offers still run wherever else they apply
Portal upsellsAdd-on offers don't render in the portal (product-page upsells are unaffected)
Loyalty & rewardsThe credit balance and rewards ladder are hidden

These are enforced server-side: a disabled action is refused by the portal itself, even if someone crafts the request by hand. Hiding a button is never the only line of defence.

White-label & custom CSS

The portal already inherits your shop's branding. For anything beyond that, the Custom CSS field on the same page accepts your own styles (shared with Settings → Developer, so both editors stay in sync).

6. Previewing as a subscriber

The same settings page includes a full preview so you can walk the experience before subscribers do:

1 Go to Settings → Customer portal and scroll to Preview as a subscriber.

2 Pick any customer from the View as subscriber dropdown. Their subscriptions, next delivery, rewards and order history render exactly as they'd see them.

3 Test the actions — skip, reschedule, pause, and the full cancel-and-save flow.

Preview actions are local only. Testing in the preview changes Sublyra's local preview contract, never the real Shopify subscription. The banner after each preview action says so explicitly. Actions your subscribers take in the real portal are the opposite — they apply to the live contract immediately.

7. Measuring self-service

The Portal impact card at the top of Settings → Customer portal totals what subscribers have done for themselves:

Every row is a support ticket you never received and, for the saves, revenue you didn't lose. The same events appear in the audit log (Settings → Logs, actor "subscriber") and in the churn analytics.

8. FAQ

Does the portal work with the new customer accounts or classic accounts?

The portal ships as a customer account extension for Shopify's customer accounts. Enable it from Settings → Customer portal → Enable in customer accounts, which links straight to the right Shopify settings page.

A subscriber says they can't cancel. Why?

Three possibilities: their plan has a minimum commitment they haven't completed (the portal tells them how many orders remain), you've disabled self-serve cancel in the permissions, or they're trying from the wrong place — the portal lives in their customer account, not the order confirmation email.

Can I do these actions on a subscriber's behalf?

Yes — use the preview on the same page to see their view, or manage the contract from Subscriptions. For changes to the live contract, the portal preview is deliberately local-only, so use Shopify admin or the subscriber-facing portal for real changes.

How do payment updates work for failed charges?

The payment-update action sends Shopify's own secure card-update email — the subscriber enters the new card on Shopify's page, and it's attached to their contract. It's available on any live contract, including ones in a failed-payment state, where it works alongside your dunning retries.

Do portal actions trigger my integrations?

Yes — a subscriber pausing or cancelling fires the same lifecycle events as any other status change, so connected tools like Klaviyo and your own webhook endpoints (see developers.sublyra.com) stay in step automatically.