Now that you've got a newsletter up and running, you can think about how to add more subscribers so more people can read and engage with what you write. You might spread the word about your newsletter through social media, other publications, or simple word of mouth. However you start, potential subscribers need a place to go where they can find your newsletter and subscribe.
There are three main ways you can grow your subscriber base without writing a single line of code:
- sharing your newsletter's unique Buttondown URL
- embedding an HTML form on a webpage
- embedding an iFrame on a webpage
Sharing your Buttondown URL
Every newsletter has a unique URL. When someone loads that URL, a page with the option to subscribe to your newsletter appears.
Your newsletter's URL is https://buttondown.com/username, where "username" is replaced with the username of your Buttondown account. You can use this link anywhere on the internet, like in emails or blog posts, to give folks a place to go when they want to subscribe or read your past emails.
Fun fact: if you use tags, you can automatically tag subscribers by adding a GET parameter of tag to this URL! For instance, to add the tag sandwich to all subscribers, you'd use the URL:
https://buttondown.com/username?tag=sandwich
Embedding an HTML form
Buttondown exposes a URL endpoint that you can point any <form> tag at to get an HTML-friendly form. This is great for platforms like Wordpress or Cargo that are very HTML-friendly, as well as static site generators or JAMStack sites. Additionally, you can style this form to your heart's content.
Below is an example of a basic form that uses this endpoint:
You can also specify one or more tags to automatically apply to new subscribers by using the tag value in your form. The following example tags a new subscriber with foo:
Embedding an iFrame
If you want a seamless, pre-styled way to include a subscription option on your site, the iFrame may be the tool for you. Here's an example:
Adding tags to your subscribers
Not seeing Tags for your subscribers? Make sure this feature is enabled in Settings.
Using query parameters
If you're using the subscribe page available at your newsletter's URL, you can automatically add new tags to new subscribers by adding a query parameter to the URL. The example below automatically gives people who subscribe through the link a tag called python:
If you want to apply multiple tags at once, you can add multiple such query parameters. Here's an example:
Using HTML
If you'd prefer to use HTML, augment your form to add an input tag with a name of tag. If you want to, you can supply multiple inputs. Buttondown will apply all tags.
In the example below, the value associated with the tag being passed is the name of the tag, not the ID. You can in fact use either the name or the ID and Buttondown will do the right thing (including automatically creating a tag with the given name, if no such tag exists yet).
You can read our docs to learn more about tags.
Using the API
First time using the Buttondown API? Make sure this feature is enabled in Settings.
You can update the tags of your subscribers programmatically using Buttondown's API. For example, to add a tag to a subscriber, you'd make a PATCH request to the subscriber endpoint with the desired tags.
Check out the examples repo for ready-to-use code samples.
Using automations
You can also automatically tag subscribers by setting up an automation. For example, you could automatically apply a tag to any reader who clicks a link in a certain email using the subscriber.clicked trigger with an apply_tags action.
Here are some resources for creating your own tagging automation:
Adding metadata to your subscribers
On your Buttondown subscribe form
Buttondown's subscription form doesn't ask for any metadata by default. All it needs is a subscriber's email address and, if you're running a paid newsletter, their payment information.
If you want to collect more information, though, you can add custom subscribe form inputs. You can find these in your subscribing settings. Inputs have three attributes:
- A key, which corresponds with the key that will be set in the metadata for your subscriber.
- A label, which is the text that will be displayed to the user.
- Whether or not the metadata is required. If the metadata is required, then the input is required to be filled out by the subscriber.
Using HTML
Here's an example that uses HTML:
Set inputs with the name of metadata__<key>, as you can see in the code sample above:
These inputs can be freeform text, like above, or hidden inputs if you want to invisibly augment your subscription forms with metadata. For example, you can imagine setting metadata for everyone who accesses your newsletter from a particular tag or webpage.
Another example is below:
You can read our docs to learn more about metadata.
Changing an existing subscriber's email address
If you need to change a subscriber's address, you can go into the Notes screen for that subscriber and tap their address to change it.
Integrating with other tools
Medium
To embed your subscription widget in Medium, all you need to do is post your newsletter's URL in Medium. It should automatically embed, thanks to the powers of oEmbed.