Opt in for bulk added users?

I’d like to import a list of users from mailchimp and for that to generate opt-in emails to those users to confirm.

It seems like no opt-in email is sent by default if users are imported? How can I adjust that?

(My answer assumes all free members - it’s more complicated with paid, too.)

So one option would be to email all your users before you export from Mailchimp, giving each one a direct link to your sign up page on Ghost. Members who sign up just opted in. Members who don’t don’t need to be created in Ghost, and members who opt in by signing up are now Ghost members.

Another option would be to create all the accounts by importing them to Ghost, but to import them without their email subscriptions turned off. Then you’d take your list and email them letting them know they have an account but need to opt in to get the newsletter, and send them the link for doing that. [You could again email from Mailchimp, or you could tag the members as you import them, make a second newsletter (that you will NOT use again), subscribe them to that, and email everyone subscribed to that newsletter with that tag.]

I think the first option is less complex and cleaner - it stops you from having those emails in your database at all if they haven’t opted in.

I’d also ask whether you need to have them opt-in again. Is your Mailchimp list clean and double opt-in to begin with? In that case, I’d consider whether you could reasonably just move them. I don’t think that switching the provider sending the newsletter necessarily needs a fresh opt-in, unless you’re making big changes to what you are doing…


Thanks. That’s helpful. The original Mailchimp list is clean and double opted in for a monthly newsletter on X.

I want to start sending them news on XY which is related but different from X.

From a user perspective option 1 requires three separate actions a) Click the link b) enter my email c)validate the email.

I think I prefer your second option as that only requires a single user action, even if it’s a bit more work to set up.

I was hoping there was just a ‘validate imported users’ option that I could turn on, but it sounds like that doesn’t exist?

I think the second one is the same clicks. :(

Magic links time out, so you can’t send a magic in the original message. The send-magic-link endpoint only takes POST requests, so you can’t link users to it directly from email.

I guess what you could do is set up a page on Ghost. Send users a link to that page, that includes their email address (and name if you have it) as a query variable. [You’d have to generate that in Mailchimp, but I’d bet it can do it.] Then on that page, you’d use some javascript to read the query string, make the post request on the user’s behalf to send-magic-link, and tell them to go check their email, which would now contain the magic link. That’s a lot of work for needing to click two links in two separate emails, but it’s technically less typing?

Or actually, better yet. Do option #1, but prepopulate a sign-up form for them on the website with their name and email. They’d have to get to that page (via the first email you send them), and then they’d /still/ have to click another link.

The only way I see to avoid the second click in a second email is (1) assume the list is clean enough and close enough that you don’t need to run another opt-in cycle. (2) stand up a cloud function somewhere that handles the whole opt-in and newsletter sign-up and getting the user logged in from a specially generated (not just email address as a query string) link they can click in their email.

I could build that. But honestly, I’m not convinced it’s a good use of your money, though!

1 Like