You can ship your product inside ChatGPT. You just can't sell a subscription there.
OpenAI's own app guidelines say commerce is physical goods only, and name subscriptions, credits and freemium upsells as not allowed, directly or indirectly. The same surface already ships an ads pixel and a Conversions API. That ordering tells you what it's for.
There's a distribution channel a lot of makers are quietly building for right now, and the rulebook for it is a page almost nobody reads. I read it this week because I was working out whether Murror belongs there, and one paragraph changed how I'd plan around it.
Here it is, from OpenAI's app submission guidelines rather than the coverage:
"Currently, apps may conduct commerce only for physical goods. Selling digital products or services — including subscriptions, digital content, tokens, or credits — is not allowed, whether offered directly or indirectly (for example, through freemium upsells)."
Read the second half of that sentence twice. It isn't only "you can't take a payment here." It names indirect selling, and it names freemium upsell as the example. That is the entire indie playbook. Free tier, obvious ceiling, upgrade prompt at the moment of value. If your app's job is to demonstrate value and then convert, the mechanism you'd normally reach for is the one described in the exclusion.
The checkout rules match. The guidelines say apps should use external checkout, directing users to complete purchases on your own domain, and that no other third-party checkout solutions may be embedded or hosted within the app experience. Instant Checkout exists but the docs say it's available only to select marketplace partners, and the developer monetization page says the same about the in-app payment sheet: private beta, select marketplaces, may expand over time. Until then external checkout is the required approach.
So the shape of the thing, today: intent forms inside ChatGPT, money moves on your domain, and the seam between them is a link out.
The part I'd read as roadmap.
Now put that next to what the same developer site already ships for advertisers. There's an Ads section with a JavaScript measurement pixel, a Conversions API, supported conversion events, and an Advertiser API for campaigns and targeting. A full closed loop for measuring what happens on your site after someone engages inside ChatGPT.
That's the tell, and I don't mean it as a conspiracy. A platform builds the money plumbing for its first-class use case first. Conversion measurement for advertisers and physical-goods merchants shipped before subscription billing for app developers. The reasonable inference is about sequencing, not intent: this surface currently treats you as someone who drives traffic somewhere else, and it has instrumentation for exactly that. If you were hoping it would treat you as a store, you're early.
There's a second-order effect worth naming. When the platform's only supported conversion is one that happens on your domain, every app in the directory is optimising to get the user out of the conversation. That's an odd incentive for a surface whose pitch is that you never have to leave the conversation. I don't think it holds forever. I do think it's the version you're building against this quarter.
What I'd actually do.
Treat a ChatGPT app as an acquisition surface, not a revenue surface. That means the free experience has to be complete enough to be worth someone's time on its own, because you cannot rescue a thin one with an upgrade prompt. One honest exit rather than a paywall wearing a costume. And measure it like acquisition — if you can't attribute signups back to it, you'll be guessing about whether to keep maintaining a second front end.
Then write down what you'd change the day subscriptions are allowed, while you still remember what you wanted. The docs say "currently" a lot. That word is doing real work, and the version of you who reads the changelog in six months will not reconstruct today's reasoning.
Where I am on it.
For Murror this is easy in a way that isn't very instructive: we're a private reflection product, and the case for putting that inside a general-purpose assistant was always weak. I'd have said so before reading any of this.
The rule that actually stopped me was a different one: do not insert unrelated content, attempt to redirect the interaction, or collect data beyond what is reasonably necessary to fulfill the user's request. That's a good rule. It's also a real constraint on the thing a founder instinctively wants to do with a new surface, which is use a small useful moment to start a longer relationship. I don't think that instinct is wrong. I do think this surface is telling you plainly that it isn't the place for it, and I'd rather take that at face value than find out in review.
One caveat on all of the above: every quote here is from OpenAI's own developer documentation, which is both the authoritative source and a document that can change without notice. If you're making a real bet, read the two pages yourself rather than trusting my summary of them.


Replies