Welcome discount for newsletter signups

Give everyone who confirms a newsletter signup their own one-time promo code, how to set the discount and expiry, who is eligible, and what to do when the email never arrives.

Someone joins your mailing list, confirms their address, and gets a personal discount code by email. One code per person, usable once, and nobody else can use it even if they see it.

You may know this as a welcome discount, a signup voucher, a subscribe-and-save promo code or a first-order coupon. It is set up under Coupons → Newsletter welcome offer in your dashboard.

What the customer sees

  1. Your storefront's signup box shows the offer beside the email field: "10% off your first order", plus whatever conditions you wrote.
  2. They enter their address and are told to check their email. No code is shown on your site, and there is nothing for them to copy yet.
  3. They click the confirm button in the email you send them.
  4. Their personal code appears on the confirmation page, and the same code arrives in a second email.

The code exists only from step 3 onward. That is what stops someone forwarding your popup to a friend and both of them claiming a discount.

Turning the offer on

Open Coupons → Newsletter welcome offer, switch it on, and set:

  • Discount type and amount. A percentage, or a fixed amount in your store currency.
  • Coupon valid for (days). How long each code lasts, counted from the moment it is issued, not from when they signed up.
  • Confirmation window (hours). How long someone has to confirm before they lose the offer. Seven days (168 hours) is the default.
  • Minimum order and, for a percentage, a maximum discount cap.
  • First order only, if you want it to reach new buyers only.
  • Where it can be used, if you sell through more than one storefront.
  • What shoppers read: your own headline and terms, in Hebrew and English, with a preview.

It is off by default in every existing shop, so nothing changes until you switch it on.

Your storefront has to show the offer

Turning it on does not put anything on your website. Whoever built your storefront has to display it, in the same place the signup form already lives. A shop scaffolded recently with npx create-brainerce-store already does this. An older one does not and will not start on its own, so the offer would be issued to anyone who confirms while nobody browsing ever sees it advertised.

Send your developer to the integration guide, under "Newsletter signup". They should not display a code anywhere: there is none to display until the customer confirms, and the confirmation page already shows it.

One per person, and no way around it

One code per mailbox, per shop, for as long as your shop exists.

  • Signing up twice gives the same person nothing extra.
  • Unsubscribing and signing up again gives them nothing extra.
  • Clicking the confirmation link twice, or having their mail scanner open it, gives them nothing extra.
  • Gmail tricks do not work. [email protected], [email protected] and [email protected] all arrive in Sara's one inbox, and we count them as Sara. She gets one code, not three. The same applies to the + trick on Outlook, Hotmail, iCloud, Yahoo, Proton, Fastmail and Zoho.

Her code still arrives at the exact address she typed, so if she signed up as [email protected] to keep your mail in its own folder, that keeps working. She can also spend the code while checking out under any of her own variations of that address.

One thing this does not cover: somebody who owns their own domain name can create genuinely separate mailboxes at will, and no shop can tell those apart from different people. If you are worried about that, cap the code's total uses or set a minimum order value.

This is not a setting and cannot be relaxed. If you want to run a second campaign for the same people, use an ordinary coupon instead.

Who does not get one

  • Your existing subscribers. Switching the offer on does not go back and reward everyone already on your list. It applies to signups from that point onward.
  • Contacts you imported from a CSV. An imported address that confirms its subscription is subscribed, and earns no discount. Only someone who used the signup form on your storefront is eligible.
  • Anyone who confirms too late. After the confirmation window you set, a click still subscribes them and earns no code.
  • Addresses that bounced, complained, or were suppressed. They never receive the confirmation in the first place, so nothing follows.

You cannot hand the offer to a specific person from the dashboard, and there is no button for it. To give one named customer a discount, create a normal coupon and email it to them.

Nobody else can use their code

Each code is tied to the address that earned it. If it ends up posted publicly, it still cannot be redeemed by anyone else: the shop checks the buyer's email at checkout, guest orders included, and refuses it.

This means the customer has to check out with the same address they subscribed with. Someone who signs up as [email protected] and then checks out as [email protected] will be told the code is not valid for them. It is worth saying so in the terms you write.

Seeing what has been issued

The same screen lists every offer that has gone out, newest first: the address, its status, the code, whether it has been used, when the email was sent, and when the code expires. Filter by status or by signup date.

Statuses you will see:

  • Waiting for confirmation. They signed up and have not clicked yet. Most people never do; a gap between signups and codes is normal.
  • Issued. The code exists and the email went out.
  • Being issued. In progress, usually for a few seconds.
  • Expired. They did not confirm inside the window you set.
  • Failed. The code could not be created after several tries. Rare, and this is what the Send again button is for.

There is deliberately no search by email address on this list. Filter the page you are looking at instead.

When the email did not arrive

Use Send again on that row. It re-sends the same code, never a new one, so a customer who was helped twice cannot end up with two discounts.

It is not available on a row still waiting for confirmation, because that person has no code yet and must not be given one without confirming. If they lost the confirmation email, they have to use your signup form again, and that only sends a fresh one once every 24 hours per address. See Newsletter signup.

Changing or switching off the offer

Changing the terms only affects people who sign up afterwards. Anyone already holding an unclicked confirmation email gets the offer exactly as it was advertised to them, and codes already sent are untouched. You cannot shorten, reduce or cancel a discount someone was already promised.

Switching the offer off stops new ones immediately. Every code already sent keeps working until it expires. If you need to stop those too, disable them individually under Coupons.

What's next?