Use phone number for membership?

Okay. I doubt there is an easy solution to this problem, but I thought I might ask before I do a lot of work for nothing.
So, essentially, I have a ghost website. It has a newsletter-style product, that however gets delivered over whatsapp instead of email. And well, that creates some issues.
The main is the fact, that there are essentially two separate databases for the emails and the phone numbers, creating a clusterfuck on the backend and a really confusing user experience: everybody kinda has two accounts, people that only subscribe to the whatsapp thing don’t have an account with which they can get premium membership, warghaghglg.

Also, of course, built in sign-up cards etc can’t be used to get phone numbers but whatever.

So, my main question: is it somehow possible to link the phone numbers to the ghost members to make this less clusterfucky?

1 Like

Just so I understand correctly, is the goal to replace the email address in Ghost with the phone number (e.g. the phone number will be used to log in instead of the email)?

Or just to “extend” the existing dataset of member information with a phone number, that can then be used to send the newsletter (while the email still existsI?

well either, I guess I’d prefer “extend”

“Extend” is definitely the easier variant, since the former would involve a lot of customisation in the Ghost core.

How about using the label functionality to store the phone number there? Might be a bit hacky, but maybe less clusterfucky? :smiley:

You can add a custom sign-up form to your theme and use the data-members-label attribute:

<form data-members-form="subscribe">
  <input data-members-name type="text" required="true" placeholder="Your Full Name" />
  <input data-members-label type="tel" required="true" placeholder="+123456789" />
  <input data-members-email type="email" required="true" placeholder="example@example.com" />
  <button type="submit">Subscribe</button>
</form>

Usually, the labels field is used as a hidden field, but hey – rebels, right? :smiley:

This would then apply the phone number to each member as a label. When sending a newsletter, I assume you have some sort of secondary workflow anyway. You’d just need to make sure that the labels are handed over to that workflow and then extract the phone number from there.

2 Likes

That is an interesting approach! Thanks a lot, appreciate it. I guess I’d need to build some custom pages for managing user accounts instead o the portal button, but that’s a good approach I guess :)

1 Like

Before you go too far, I’d check if labels can be edited through the user’s credentials. I think the answer is no, so you’re going to need a separate mechanism fir those changes.

1 Like