Collect subscriber shipping addresses

Hiya,

We’re setting up a Ghost site for a digital/print publication. We’d like to collect shipping addresses during the sign up process but the only solution I’ve come across is by embedding a form on the welcome pages.

This is not the nicest work around, as the subscriber would have to retype their name and email again, inevitably leading to some confusion I’d expect.

Do any Ghost experts know if this sort of feature/update to the sign up process, is likely in future updates, so something that I should just accept probably won’t happen anytime soon?

Thanks :smiley:

It’ll require some automation, but:
Set up stripe customer portal.
In default.hbs check if they have a done label.
If not, give them a link and reminder to go to the portal and add their address.
Set up automation for stripe’s webhook. Once they have an address, add the ‘done’ tag.

Thanks Cathy!

We’re looking to stick to using Ghost Pro without self-hosting – would this be a solution that works with this setup?

The solution above will work with Ghost Pro, as long as you’re not on their ‘starter’ plan. But you do need a little bit of ‘glue’ between Stripe and Ghost. That could be Zapier, or Make, or some custom cloud function. Something that when Stripe gets an address change, it talks to your ‘glue’ and that adds a label in Ghost.

Ah okay I get you – I’m leaning toward just finding a way to edit the Stripe checkout, so it asks the subscriber to enter their shipping address during the sign up process (like the example in the screenshot).

Is this doable in Ghost Pro, or does it require self-hosting to make a change like this?

Thanks again Cathy for you generous support and quick responses!

While it’s possible to call Stripe with a request to require a shipping address, I don’t think that there’s currently a method of getting Ghost to do so. You might want to confirm that with Ghost Pro support. (And it’s always good for them to hear what their customers want.)

You /could/ trigger your own checkout sessions, but now you’re replacing a good bit of Portal with custom functionality. (From having had multiple testing Ghost sites linked to the same Stripe account – not recommended! – I can tell you that Ghost seems to be OK with getting webhooks for new subscriptions that it didn’t directly trigger.) But I think this is more complicated than what I suggested.

If you’re self hosting, you could also edit the code that creates checkout sessions to pass in the parameter to make addresses required. It’s a small change, but it would mean having to maintain a fork. (Ghost releases every week – will you reapply your patch every week when it does?)

I have found a work around that seems to work quite well using Stripe Payment Links and Zapier.

I created custom no-code Payment Links in Stripe to purchase a subscription through. When a new subscription is purchased in Stripe, Zapier tells Ghost to create a new member and since my Ghost site and the Stripe shop are linked within Ghost, it neatly adds the member onto a paid tier. This would only work if you have a single paid tier on Ghost, as Zapier does not allow you to select which tier a new member would be on and automatically creates a member on the first paid tier.

Could someone let me know if there is a fatal error in doing it this way or if I’ve just found a nice nifty workaround to collecting shipping addresses! :smiley:

(Cathy, I’m just reading back what you posted before and this sounds somewhat similar to what you have suggested!)