Building your subscriber base

Using HTML

Go over to the embedding and sharing page and Buttondown will walk you through exactly how this is done:

A screenshot of the embedding and sharing page.
A screenshot of the embedding and sharing page.

You can see what this looks like below:

HTML
<form
action="
https://buttondown.email/api/emails/
"
method="post"
target="popupwindow"
class="embeddable-buttondown-form"
>
<label for="email">Email</label>
<input
type="email"
name="email"
placeholder="you@gmail.com"
/>
<input type="hidden" value="1" name="embed" />
<input type="submit" value="Subscribe" />
<p>
<a href="https://buttondown.email" target="_blank">
Powered by Buttondown.
</a>
</p>
</form>
Result

Powered by Buttondown.

Adding tags to your subscribers

Using query parameters

If you're using Buttondown's subscribe page (e.g. `https://buttondown.email/jmduke`), you can automatically add new tags to new subscribers by adding a query parameter to the URL, such as:

https://buttondown.email/jmduke?tag=python

This will automatically give folks who subscribe through the link a tag named `python`.

If you want to apply multiple tags at once, you can add multiple such query parameters:

https://buttondown.email/jmduke?tag=python&tag=vue

Using HTML

If you'd prefer to use HTML, augment your form to add an `input` tag with a name of `tag`. (You can supply multiple inputs; Buttondown will apply all tags.)

An example is below. Note that the `value` associated with the tag being passed over is the name of the tag, not the ID; you can in fact supply either one and Buttondown will do the right thing (including automatically creating a tag with the given name if no such tag exists).

HTML
<form
action="
https://buttondown.email/api/emails/
"
method="post"
target="popupwindow"
class="embeddable-buttondown-form"
>
<label for="email">Email</label>
<input
type="email"
name="email"
placeholder="you@gmail.com"
/>
<label for="email">Pokemon</label>
<br />
<input type="radio" id="Squirtle" name="tag" value="Squirtle">
<label for="Squirtle">Squirtle</label>
<input type="radio" id="Bulbasaur" name="tag" value="Bulbasaur">
<label for="Bulbasaur">Bulbasaur</label>
<input type="radio" id="Charmander" name="tag" value="Charmander">
<label for="Charmander">Charmander</label><br>
<br />
<input type="hidden" value="1" name="embed" />
<input type="submit" value="Subscribe" />
<p>
<a href="https://buttondown.email" target="_blank">
Powered by Buttondown.
</a>
</p>
</form>
Result



Powered by Buttondown.

Adding metadata to your subscribers

Using HTML

I'm a fan of showing, not telling, so I'll lead with the relevant code sample:

JSFiddle

The trick is to set inputs with the `name` of `metadata__<key>`, as you can see in the code sample above:

<input
id="first-name"
type="text"
name="metadata__first-name"
required
placeholder="John"
/>

Note that these can be freeform text inputs, like above, or `hidden` inputs if you instead want to invisibly augment your subscription forms with given metadata. (For instance, you can imagine setting metadata for everyone coming through a particular tag or webpage.)

Another example playground is below:

HTML
<form
action="
https://buttondown.email/api/emails/
"
method="post"
target="popupwindow"
class="embeddable-buttondown-form"
>
<label for="email">Email</label>
<input
type="email"
name="email"
placeholder="you@gmail.com"
/>
<label for="email">First name</label>
<input
id="first-name"
type="text"
name="metadata__first-name"
required
placeholder="John"
/>
<input type="hidden" value="1" name="embed" />
<input type="submit" value="Subscribe" />
<p>
<a href="https://buttondown.email" target="_blank">
Powered by Buttondown.
</a>
</p>
</form>
Result

Powered by Buttondown.

Automatically sending an email to new subscribers

You can do this by going to your Subscribing settings page and checking out the section entitled I'd like to send my new subscribers...:

A screenshot of the Subscribing settings page.
A screenshot of the Subscribing settings page.

Dealing with spammy subscribers

Chances are, this is because you're using an embedded subscription widget and you don't have subscription confirmation turned on. First off — you should turn that on!

I'll be building out captcha support in the future as well but in the meantime, if you still are seeing lots of spammy subscribers email me and I'll take a look.

FAQs

Captcha support

I am piloting a program using https://www.hcaptcha.com/ and will be bringing it (on an opt-in basis) to GA soon!

Instagram

Instagram's browser is a little, uh, finicky. Take out the `target="popupwindow"` attribute from the form tag and you should be good to go.

medium

To embed your subscription widget in Medium, all you need to do is post the link to your newsletter (e.g. https://buttondown.email/jmduke) in Medium — it should automatically embed.