Skip to main content
Store operations and content

Shopify Lets an App Publish Eight Plans and Keep Fifteen More Out of Sight. The Hidden Ones Are Where Prices Get Negotiated.

The Vitals listing on the Shopify App Store shows exactly one plan — $29.99/month — and then a link that reads See all pricing options. Matrixify shows four and the same link. That link is not a marketing choice. Shopify App Pricing, the billing system that is now the default for new public apps, caps public plans at eight and lets a developer create fifteen more private plans that never appear on the App Store, each authorized for up to twenty specific stores. Shopify documents three further per-merchant levers — discounts, trial extensions, and app credits — all applied from the Partner Dashboard, none visible anywhere public. Meanwhile Shopify's own Help Center still tells merchants that app plan changes happen inside the app, not in the admin, while shopify.dev publishes the admin URL where the plan page now lives. Here is what each lever actually does, what the system cannot do at all, and the order to ask in. Researched September 14, 2026.

AIEC App Lab AI Editorial TeamPublished Updated Read 15 min#Shopify blog operations#App comparisons#For beginners

What you will learn

On this pageContentsCloseOpen

Open the Shopify App Store listing for Vitals and scroll to Pricing. There is one plan. All-in-One, $29.99 / month, a 7-day free trial, and a line about usage fees. Underneath, in grey, sits a sentence that ends with a link: All charges are billed in USD. Recurring and usage-based charges are billed every 30 days. See all pricing options.

Open the listing for Matrixify. Four plans — Demo, Basic, Big, Enterprise — and the same grey sentence, ending in the same link.

That link is easy to read as marketing. It is better read as an admission. Shopify's current billing system for apps has a documented ceiling on how many plans an app is allowed to show you, and a documented mechanism for plans it is allowed not to show you at all.

The short version

The system is called Shopify App Pricing, and it was renamed from Managed Pricing in 2026. Shopify says it is "the default way to charge merchants" for new public apps whose pricing model it supports.

Eight public plans, maximum. They appear on the App Store listing and on your plan page. That is the whole public price list.

Fifteen private plans, maximum. They do not appear on the App Store. Shopify says they are "visible only to users who are logged in to an authorized store account," and each one can authorize up to twenty store domains.

Shopify now hosts the plan page inside your admin, at https://admin.shopify.com/store/{store_handle}/charges/{app_handle}/pricing_plans. Shopify's merchant-facing Help Center has not caught up: it still says plan changes are "managed within the app itself or through the app developer's website, not from Settings > Apps."

Three more levers exist, all pulled from the Partner Dashboard. A discount with a set type, value, and duration. A trial extension. App credits. None of the three requires you to change plans, and none of the three is visible on any public page.

All four levers require someone to ask. Shopify's developer documentation explains how a developer grants each one. We could not find any merchant-facing Shopify page that mentions private plans at all.

What actually changed

Shopify App Pricing is not new plumbing bolted onto the old Billing API. It replaces it.

Under the old model — now labelled "manual pricing (legacy)" in Shopify's own navigation — an app called appSubscriptionCreate, Shopify returned a confirmationUrl, and you approved a charge on a page the app had constructed. Plans lived in the developer's code.

Under App Pricing, plans live in the Partner Dashboard and Shopify renders the page. Shopify's documentation is blunt about it: "your app doesn't define billing configuration or create charges in code. Don't call the Billing API's appSubscriptionCreate mutation."

The dates are on the changelog. Webhook-based subscription notifications and the charge_id redirect parameter stopped for App Pricing apps after April 28, 2026. On July 7, 2026, Shopify shipped the first half of a migration tool for apps still on the Billing API. Two days later, on July 9, it raised the plan limits — from four public plans to eight, and from ten private plans to fifteen.

That July 9 entry is the one worth sitting with. Shopify did not merely permit private plans. It nearly doubled how many an app may hold.

Where your plan page is now

The URL pattern is published on shopify.dev, and it is the same shape for every app on the system:

https://admin.shopify.com/store/{store_handle}/charges/{app_handle}/pricing_plans

store_handle is your myshopify subdomain — cool-shop from cool-shop.myshopify.com. app_handle is the handle the developer set in the app's shopify.app.toml file. Shopify does not document that this matches the slug in the app's App Store URL, so treat it as something to confirm rather than assume.

Shopify describes this page plainly: "Shopify hosts your plan selection page. It's visible in the Shopify admin, and allows merchants to view and select their plan."

Two caveats before you go typing URLs.

First, this only exists for apps that have enabled App Pricing. An app still on the Billing API has no such page, and the Help Center's description — plan changes happen inside the app — remains correct for it. There is no way to tell from an App Store listing which system an app is on.

Second, what you see on that page is scoped to your store. Public plans, plus any private plan your store domain has been added to. Another merchant loading the same app's page may see a different list.

Eight in public, fifteen in private

Shopify's documentation separates the two cleanly.

Public plans are "available to all merchants," and "visible on your app's plan selection page as well as on the Shopify App Store." The cap is eight.

Private plans are "only available to a list of stores that you select." Shopify explains the purpose: "This is useful if you need to support a bespoke feature set and pricing for a complex or high-needs client." Then the visibility rule: private plans "show up on your plan selection page, but are visible only to users who are logged in to an authorized store account."

The limits: up to fifteen private plans, and up to twenty authorized stores per private plan. At most three hundred store slots on bespoke terms per app, none of them discoverable from outside.

Shopify also tells developers when not to reach for one: "If all you need is a price incentive, then offering a discount or trial extension may be a simpler option."

That sentence is the part worth noticing. Shopify treats the private plan as the heavier of three options — which means the two lighter ones, a discount and a trial extension, are what a developer reaches for first. Neither of those appears on a listing either.

The listing tells you it is not the whole price list

Vitals pricing section on the Shopify App Store, showing a single All-in-One plan at $29.99 per month with a 7-day free trial and a See all pricing options link

Source: Shopify App Store (Vitals: Reviews, Bundles & 40+), retrieved September 14, 2026

Vitals: Reviews, Bundles & 40+ carries the Built for Shopify badge and rates 4.9 from 2,956 reviews. Its listing shows one plan at $29.99 / month, with this disclosure printed under the price: Usage fees start after ~$1,000/mo in Vitals-attributed sales (from $10/mo) and for Visitor Recordings volume. Then: See all pricing options, pointing to the developer's own site.

Matrixify pricing section on the Shopify App Store, showing four plans — Demo free, Basic $20 a month, Big $50 a month and Enterprise $200 a month

Source: Shopify App Store (Matrixify), retrieved September 14, 2026

Matrixify, from ITissible, also carries the Built for Shopify badge and rates 4.9 from 1,616 reviews. Four plans: Demo free, Basic $20 / month, Big $50 / month, Enterprise $200 / month. Same link.

Neither app is doing anything irregular. Both are within a system that caps what a listing may display. The link is how the cap gets worked around in public. Private plans are how it gets worked around in private.

What it looks like when a bill moves

One exchange on the Vitals listing is worth reading in full, because it is dated, public, and from both sides.

Vitals reviews section on the Shopify App Store, with a three-star review from HAIYATEA dated July 23, 2026 raising a Direct revenue assists charge, and a reply from Vitals dated July 24, 2026

Source: Shopify App Store (Vitals: Reviews, Bundles & 40+), retrieved September 14, 2026

On July 23, 2026, a merchant trading as HAIYATEA — United Arab Emirates, almost four years on the app — left three stars. The review is broadly positive about the features, then turns: the app "includes a 'Direct revenue assists' charge, which is charged based on how much revenue the app has helped generate for your store. So now, we're being charged an extra $200 PER MONTH for using this app due to our revenue bracket."

Vitals replied the next day. After acknowledging the charge, the reply says: "We've written to you with what we can do about the charge, and the setup that would suit your store best."

Read that last clause against the documentation. What we can do about the charge and the setup that would suit your store are descriptions of exactly the levers Shopify has built: a discount, a trial extension, or a plan constructed for one store.

To be careful about what this does and does not establish: this is one review and one public reply. It is not possible from outside to know which mechanism, if any, was used, or what the outcome was. What it shows is that the conversation exists, that it happens off the listing, and that a merchant nearly four years in did not appear to know it was available until the bill moved.

The four levers, side by side

LeverWhere the developer applies itWhere you would notice itWhat Shopify documents
Private planPartner Dashboard, Pricing indexYour plan selection page, once your store domain is authorizedUp to 15 plans per app, up to 20 store domains per plan
DiscountPartner Dashboard, per merchantYour next billing cycleDeveloper selects "the type, value, and duration"; it is "applied to their subscription automatically, starting on the next billing cycle"
Trial extensionPartner Dashboard, per merchantAn email from Shopify; no action needed from you"Shopify sends an email to the merchant on your behalf confirming the change. The merchant doesn't need to re-subscribe to the plan."
App creditsBilling adjustment, per merchantYour Shopify bill"Grant a sum that merchants can put towards future purchases, subscriptions, or usage charges"

App credits are documented on Shopify's billing-adjustments pages rather than the App Pricing pages, but CREDIT_APPLIED, CREDIT_PENDING, and CREDIT_FAILED all appear in the App Pricing event list, so credits reach this system too.

One detail worth carrying into a support conversation: Shopify states that developer staff need the Manage credits and refunds permission in the Partner Dashboard to manage trial extensions. When a first-line agent tells you nothing can be done, that may be true of that agent rather than of the company.

What this system cannot do at all

The limits cut against developers too, and some of them land on your bill in ways worth anticipating.

No one-time purchases. Shopify states it directly: App Pricing "doesn't support one-time purchases." The migration guide tells an app that currently sells one-time charges to "create a usage-only subscription with usage items," and an app selling one-time plus monthly charges to build a combined plan and "send each one-time charge as an App Event for that meter." The merchant-side consequence is a change of category. Today, per the Help Center, one-time app charges "are displayed on separate invoices, not on your regular Shopify subscription bill." Converted into a usage meter, the same payment becomes a line on the regular bill — attached to a standing subscription that did not previously exist.

No usage caps. Stated in two places in Shopify's documentation: "Usage caps aren't currently supported," and, against the old 90%-of-cap warning webhook, "Not applicable. Shopify App Pricing doesn't use capped amounts for usage-based pricing." We covered what that means in practice, and what it looks like on a real metered app, in Shopify allows five usage meters per plan.

A spending limit you can raise but not lower. Where a spending limit does exist, the Help Center is explicit: "You can only increase spending limits through your Shopify admin, you can't decrease them... To decrease your spending limit, contact the app developers."

One free public plan. Shopify's migration checklist requires developers to "include no more than one free public plan without usage charges."

Usage is monthly or not at all. Usage charges "must be billed monthly (can't be combined with yearly-only plans)."

Ask in this order

  1. Try your plan page before you email anyone. admin.shopify.com/store/{your-handle}/charges/{app-handle}/pricing_plans. If it loads, the app is on App Pricing and you are looking at every plan your store is currently entitled to. If it does not, the app is still on the Billing API and plan changes live inside the app.

  2. Read your current charges first. Settings > Apps > the app. The Billing and usage charges section shows the plan, the billing cycle, and — where usage applies — "the current spending amount, spending limit, and the date the usage cycle resets."

  3. Follow "See all pricing options" before deciding. The listing shows at most eight plans. The developer's own site is not bound by that number.

  4. Name the lever when you ask. "Private plan," "discount," and "trial extension" are three distinct actions in the Partner Dashboard with three distinct outcomes. "Can you do anything about the price?" invites a no. Asking whether your store can be added to a private plan does not.

  5. Watch the timing. A discount is "applied to their subscription automatically, starting on the next billing cycle" — not the current one. If your cycle turns in three days, a discount agreed today costs you one more full period at the old rate.

  6. Do not confuse this with a refund. These four levers change what you will be charged. They do not undo what you have been charged. Refunds run on a different track, with different limits, covered in Shopify app free trials are a 180-day balance.

The broader point is not that developers are hiding prices. It is that Shopify built a price list with a public half and a private half, documented both halves in the developer docs, and documented neither half to merchants. The App Store listing is the public half. It is complete only in the sense that a menu is complete.

What this article could not verify

We did not install an app and load a live plan selection page. The URL pattern and everything about the page's contents come from shopify.dev, not from observation.

There is no way, from an App Store listing, to tell whether an app is on Shopify App Pricing or still on the Billing API. That determines whether the plan page URL exists at all, and we could not check it app by app.

We could not verify that Vitals used any of the four documented mechanisms with HAIYATEA, or what the outcome was. The review and the reply are quoted as published on the listing on September 14, 2026. One exchange is not a pattern.

Shopify has not published a retirement date for the Billing API. The migration guide says Shopify "is developing" a Migration API for subscriptions that do not map cleanly to a new plan, and that until it ships, "those subscriptions continue billing through the Billing API." Apps may sit on both systems at once for some time.

Ratings, review counts, plan names, and prices are from the en-US Shopify App Store on September 14, 2026 and change frequently. Vitals showed 2,951 reviews earlier the same day and 2,956 at the time of the screenshot.

Sources

RelatedYour Shopify App Free Trial Is a 180-Day Budget, Not a Clock — and Only the Developer Can Refund You

Two things about Shopify app charges are documented and almost never read together. First, a free trial is not a countdown that restarts when you reinstall: Shopify App Pricing tracks trial days over a 180-day window, per plan, and previously consumed days are subtracted from new totals. Second, the refund is not Shopify's to give. The Help Center is explicit that refunds for third-party app charges are managed by the developer, that refund decisions are at the developer's discretion, and that Shopify can't remove a pending charge once it has been added to your invoice. The developer's own limits are narrower than most merchants expect: they can't refund anything above $1,000.00 USD, can't touch invoices older than 12 months, and on ACH-paid invoices are capped at 90 days. Verified against Shopify's Help Center, shopify.dev, and the App Store listings for Matrixify, Loox, and Klaviyo on September 13, 2026.