Mailing Something to Your Subscribers
A postcard every quarter, a sticker when someone joins, a printed zine for your top tier: some shows include something that arrives in the mail. To send it, you need each subscriber’s mailing address.
Benecaster doesn’t have a mailing address setting, so this page collects ways to get one. They are ideas rather than a required setup. Pick what suits how often you mail and how many people you mail to, or combine a few.
| If you… | Try |
|---|---|
| Use built-in membership and want no code | A form on your account page and a link in the welcome email |
| Already use an email service | Your email service |
| Have a developer | An address section on the account page |
| Use, or are open to using, a membership plugin | Other membership plugins |
What Won’t Hold an Address
Three things look like they might do the job, but don’t:
- The billing address. A show that collects tax asks for one, but it goes to Stripe and Benecaster doesn’t keep it. It isn’t in any export, a show that doesn’t collect tax never asks for it, and it may not be where the subscriber wants their mail.
- Custom fields. Custom Field Groups belong to episodes and guests, not people.
- The signup form.
[benecaster_subscribe]has no setting for adding your own fields, so the question has to come after checkout.
Ideas for Built-in Membership
A Form on Your Account Page
After a confirmed checkout, subscribers are sent to your site’s account page, which starts as /podcast-account/. That is an ordinary WordPress page holding the [benecaster_account] shortcode, so you can add a form to it, which puts your question in front of them right after they pay.
- Install any WordPress form plugin you like.
- Create a form with email, name, street address, city, state or region, postal code and country.
- Edit your site’s account page and add the form above or below the shortcode.
- Give it a heading that says why you’re asking, such as “Where should we send your postcard?”
A few things to allow for:
- Keep the email field. New subscribers aren’t logged in when they arrive, so they see a login prompt and your form can’t tell who they are. The email is how you match the entry to a subscriber later.
- Anyone can see it. The form also shows to logged-out visitors and free members, unless your form plugin can limit who sees it. A line such as “for paid members” helps.
- Not everyone gets redirected. If Stripe is still processing a payment, the subscriber stays on the signup page, so they need another prompt. The welcome email below covers them.
A Link in the Welcome Email
The welcome email goes out when a subscriber gets their feed link for the first time, so it’s a natural place to ask. Link to your form from it, using the Email Editor add-on or a template override of welcome.php.
Your form can also fill in the email for them. The {{subscriber_email}} merge tag holds the address, so the link can carry it:
{{account_url}}?email={{subscriber_email}}
In a welcome.php override, the same link is:
<a href="<?php echo esc_url( add_query_arg( 'email', rawurlencode( $subscriber_email ), $account_url ) ); ?>">Tell us where to send your postcard</a>
Your form plugin then has to accept the value from the link. Gravity Forms calls this Allow field to be populated dynamically, and Fluent Forms has an option to populate a field from a GET parameter. WPForms has Enable Prefill By URL, but it expects its own parameter name in the form wpf{formID}_{fieldID}, so use that in place of email. Check your plugin’s documentation, as this may depend on its version or plan.
Before you rely on it:
- Send yourself a test using an address with a plus sign, such as
you+test@example.com. In the merge tag version it may arrive with a space instead of the plus. The subscriber can correct it as long as the field stays editable. - The address appears in the link. That means it can end up in browser history, server logs and your site analytics. If that bothers you, leave pre-filling out and let people type it.
- A pre-filled email isn’t proof of identity. Anyone with the form can type someone else’s address, so treat entries as what you were told. If two entries disagree, ask the subscriber.
The welcome email only goes to new subscribers, and it can be switched off per show. For people already on your list, use the next idea.
Your Email Service
If you already use a service such as Mailchimp, you can do the asking from there.
For the people you already have:
- Export your list from Benecaster → Settings → Tools → Export → Subscriber CSV. Choose the Tier you mail to and set Status to Active.
- Import the file into your email service.
- Send a campaign linking to your form. To pre-fill the email, use the service’s own merge tag in the link. In Mailchimp, for example,
*|URL:EMAIL|*gives the address encoded for a link.
For new subscribers automatically: Outbound Webhooks can tell another service when a membership starts, through the subscription.activated event. An automation tool can catch that event, add the person to your email service and start a sequence asking for their address. The same sequence can send reminders to anyone who hasn’t answered, which the welcome email can’t do.
An email service won’t reach someone who has unsubscribed from it, even though they’ve paid for the thing you’re mailing. Keep the form on your account page as well, and check your service’s rules on sending to imported contacts.
Matching Entries to Your Subscribers
Whichever route you use, you’ll end up with a list of form entries and a list of subscribers. Before each mailing:
- Download a fresh Subscriber CSV for the tier, with Status set to Active.
- Export your form entries.
- Match the two by email address in a spreadsheet. A lookup formula will do it.
The result gives you three groups: people to mail, active subscribers who haven’t answered (send them a reminder), and entries from people who are no longer active (leave them off). If someone changed their email after filling in the form, they’ll show up in the last two groups, so it’s worth a look before you remove anyone.
Choosing one tier leaves out followers and purchasers. If you choose All tiers, the file includes everyone with a feed link on the show, so filter them out if they don’t get the mailing.
An Address Section on the Account Page
A developer can make this feel built in by adding an address form to the subscriber’s account page:
- Show the form.
benecaster_account_sectionsadds a section to each show’s card on the account page, for logged-in subscribers only. There’s no need to ask for an email, because you already know who it is, and subscribers can come back and update their address. It fires once per show, so decide whether an address belongs to the person or to each show. - Save it. User meta is the simple choice.
- Export it.
benecaster_export_sheetsandbenecaster_export_sheet_rows_{sheet_id}can add an address sheet to the Your Data export, which saves the spreadsheet matching. - Handle privacy. Benecaster’s export and deletion tools won’t know about the address. Add it to WordPress’s personal data exporter and eraser so your own requests stay complete.
If the mailing is a paid extra, benecaster_buyup_purchased and benecaster_buyup_auto_granted can tell your mailing list or fulfilment service when someone gets it.
Selling the Mailing as a Buy-up
You don’t have to put the mailing in a tier. A buy-up lets subscribers on any tier add it to their membership, and they see it on their account page under Extras. A buy-up bills every period for as long as they keep it, so it suits something regular like a monthly mailer better than a one-off gift.
Other Membership Plugins
If physical items are central to your membership, a plugin that collects addresses at checkout may be simpler. Benecaster still handles the feeds, and the address stays in that plugin, so you’d export it from there. These are the other plugin’s features, so check their documentation for the current details.
- MemberPress has address fields. Under MemberPress → Settings → Fields, turn on Show on Signup for Address Fields, or make them required. You can switch them off for individual memberships.
- Paid Memberships Pro has a premium Mailing Address add-on. It adds the address to checkout, lets members edit it on their profile, and includes it in the members list and its CSV export. You can hide it for individual levels.
- WooCommerce Subscriptions runs on WooCommerce’s checkout, which asks for a shipping address when a product needs shipping. Don’t mark the subscription product as virtual, and set up your shipping options and costs in WooCommerce. This is the only one of these that also handles shipping charges.
- Restrict Content Pro has no mailing address option that we know of, so use the form or email ideas above.
The form, email service and webhook ideas all work with any of these. The ones that use the redirect after checkout or buy-ups don’t: each plugin has its own checkout, and buy-ups need built-in membership.
To connect a plugin, start with Subscription Plugin Overview. If you already have subscribers on another system, read Switching Your Subscription Plugin first.
Things to Decide Before You Mail
Tax. Tax rules for physical goods often differ from those for digital content, and may depend on where the item is shipped. Benecaster’s tax calculation for built-in membership uses the billing address, and its tax categories describe digital content. Ask your accountant how to treat a tier or buy-up that includes a mailed item before you rely on Calculate tax automatically.
Privacy. A home address is sensitive, and you’re now the one holding it. Say what you collect and why in your privacy policy, keep it only as long as you need it, and limit who can see it. If you use a form plugin or mailing service, remember they hold copies too. Delete a subscriber’s data only covers what Benecaster stores, so remove those copies yourself when someone asks.
Who qualifies. Decide whether someone who cancels gets the next mailing, and whether a new subscriber gets the current one or starts with the next. Run your export close to the mailing date so the list reflects your answer.
Where you’ll ship. International postage can be more than a monthly membership costs. If you only mail to some countries, say so before people pay.
Stale addresses. People move. Ask them to check their address once a year or before a big mailing, and use their most recent entry.
See Also
Need this built rather than just documented? See our services →