惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
罗磊的独立博客
Recorded Future
Recorded Future
Cyberwarzone
Cyberwarzone
AWS News Blog
AWS News Blog
S
Securelist
Stack Overflow Blog
Stack Overflow Blog
Latest news
Latest news
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
K
Kaspersky official blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Engineering at Meta
Engineering at Meta
S
Schneier on Security
P
Proofpoint News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Last Week in AI
Last Week in AI
O
OpenAI News
P
Proofpoint News Feed
V2EX - 技术
V2EX - 技术
Google Online Security Blog
Google Online Security Blog
The Hacker News
The Hacker News
C
Cisco Blogs
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
博客园 - 三生石上(FineUI控件)
C
CXSECURITY Database RSS Feed - CXSecurity.com
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security @ Cisco Blogs
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题
Webroot Blog
Webroot Blog
Project Zero
Project Zero
aimingoo的专栏
aimingoo的专栏
Know Your Adversary
Know Your Adversary
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
I
Intezer
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
Troy Hunt's Blog
Google DeepMind News
Google DeepMind News

Buttondown's blog

Email could have been X.400 times better The physicists who convinced Fermilab to send Brazil's emails Better in-app previews Analytics 3.0 Subscriber ID variables Comments! Send latest premium action Automation filtering Free API subscribers Surveys in automations Reply to replies Labels for RSS feeds How Jeremy Singer-Vine curates curious datasets for readers 2023 (and what's next) Email vs web content Sort by engagement Better gift subscriptions How Andy Dehnart built a career reviewing television New email template Email-based automations Opt-in reply tracking Automatic alt text More social network integrations Sort by metadata Overlarge image warnings Automation tag actions Pause emails mid-flight Search tags and automations Gift via automations Subscriber-driving emails Programmatic webhooks Email page views Tag statistics Discord webhook formatting Automatic subscriber cleanup RSS subscriber count Weekly subscriber reports More list columns Customizable list views How Max Voltar turned a side gig into a trusted keyboard resource How Nick Disabato runs two newsletters from one design consultancy Made-for-you share images Automation improvements End-of-email surveys Filter by date Survey-triggered automations More automation functionality New webhooks How France Insider built a news service with paid subscribers Email as primary key How John Willshire unites two businesses in one newsletter Confirmation reminders Email churned subscribers Email-to-draft Subscriber metadata columns ChatGPT integration Faster web archives Referral program Better search results TikTok embeds Subscriber timeline Spotify embeds Improved RSS-to-email Subscribe page OG image New analytics page Google Tag Manager Even more subscriber types Integrating Duda with Buttondown Linktree integration guide Advanced and enterprise plans Framer integration guide API requests page Team collaboration In-email surveys Better CSS settings Better RSS automation fetching! Editor toolbar improvements Smart filters Faster emails page RSS automations Faster email analytics Zapier error codes Image accessibility checks Tags vs newsletters OG image picker Image editor improvements API bulk actions Improved OpenAPI spec Mastodon support Better subscriber filtering Better subscriber validation Hotkey support! Programmatic access to analytics Stronger bulk actions Faster archive page Custom canonical URLs Email slug and metadata Improved writing interface Generating a Typescript router in Django Filter emails by source
A cleaner paid subscriptions experience
Justin Duke · 2025-10-31 · via Buttondown's blog

When Buttondown first launched paid subscriptions, our fundamental architecture was all about matching and mirroring what you would see within Stripe. This was because of a few things. One, most of our customers who wanted to use paid subscriptions were doing so alongside some other form of commerce, such as a Memberful account, a Shopify store, or even their very own software product. We were maximally flexible, which enabled a lot of scalability and experimentation because as soon as Stripe added support for, say, metered billing, we could then add our own support for it.

However, as time has gone on, a couple things have changed. First, more and more users who use Buttondown to collect paid subscriptions only use Buttondown and nothing else. For these people, all that abstract flexibility is more of a curse than a blessing because we force you to understand how Stripe works in order to just collect some money for your writing. Second, Stripe as an overall product and dashboard has become more and more complicated over time. Not only has this meant that our own frontend has had to get more complicated to accommodate it, but it also means that we often spend a lot of time fielding support questions that are really Stripe support questions rather than Buttondown support questions. Lastly, we've just gotten smarter. We have a better understanding of how to structure the kinds of configurations that users want while preserving optionality for the really esoteric use cases.

Amidst all of this change, there have been two big unifying voices we hear from folks as they set up and manage their paid subscriptions. The first is that it's frankly confusing to understand what is going on, especially if you've never interacted with Stripe before. The second is that we almost bend over backwards to make it difficult to manage and see how your paid newsletter is growing over time.

So. All of this is prelude to say that whether you're checking in on your paid subscriptions or you're thinking about setting it up for the first time, the flow is about to look much cleaner. Behold!

Gone are the references to arcane settings and tables containing codes that are undecipherable without another window pulled up showing your Stripe data. We simply show you the big key metrics and then the list of options for how you set up your paid subscriptions. And then we go off and make sure all of that squares with Stripe. Notably, this does not indicate any change to how we're interacting with Stripe on the backend. Transparency and portability are still incredibly important, and literally nothing has changed in that regard. You can still view and transfer your paid subscriptions at any time.

There's one little Easter egg that we've also pushed in this change that you can see in the screenshot above. This changelog entry has gone on for long enough as is. Check back tomorrow for more information.