61
64 Comments

How to get more user signups (using the Sniper Link technique)

Do you want more user signups?

Well a signup isn’t complete until new users confirm their email.

And there’s a little-known way to increase your confirmation rates by 7%.

It’s called the “Sniper Link” technique.

It's easy to implement (especially if you're a technical indie hacker).

Let’s dive right in.

Problem: Unconfirmed emails = wasted signups

Between 27% and 61% of your new users will never confirm their email.

There are 3 main reasons for this:

  1. Friction in your onboarding steps
  2. Spam folders snatching your email
  3. Distractions from other emails in your user’s inbox
    Sniper Link Example

Luckily, we found a tactic that addresses those three issues.

In fact, it increased our email confirmation rates to 94%.

It’s called the Sniper Link technique.

What’s a “Sniper Link”?

A Sniper Link is a special link that makes it easier for new users to confirm their email after a signup. It typically simulates an inbox search, which minimizes distractions while leading users to the inbox of their email service provider detected on signup.

What is a Sniper Link

With Sniper Links, your new users will only see YOUR confirmation email in their inbox, nothing else. It works even if you landed in their spam.

How do Sniper Links work?

Sniper Links work by showing a customized link based on the email service provider (ESP) detected from a user’s signup. Complete Sniper Links simulate a search query in the user’s email provider inbox that will only show your business’ confirmation email, even if you were to land in the spam folder.

Sniper Link Example

What’s the structure of a Sniper Link?

Here’s an example of Sniper Link for Gmail users:

Sniper Link Structurehttps://mail.google.com/mail/u/bob.marley@gmail.com/#search/from%3A%40growth.design+in%3Aanywhere+newer_than%3A1d

This URL will simulate a search like this:

Sniper Link example in Gmail

Let’s break down each part of the URL:

  1. https://mail.google.com/mail/: Basic desktop link to the email provider.
  2. u/bob.marley@gmail.com (“Account scope”): The specific email account to open. Useful when users are logged into multiple email accounts.
  3. #search: Triggers the search query in the user’s inbox.
  4. from%3A%40growth.design (“From filter”): Forces the search query to only show emails from your domain or a specific email address.
  5. in%3Aanywhere (“Spam piercer”): Forces the search query to operate across any folder (not just your inbox). This means that the search result will also show results from the spam folder.
  6. newer_than%3A1d (“Time frame”): Scopes to only show emails received within the past 24 hours (instead of 1d, you could also use 1h for the last hour). This parameter is especially useful when your system relies on “Magic Links” because people receive several login emails from your domain.

Obviously, these are the search parameters for Gmail. But every email service provider has its own system. See below for the full breakdown.

Sniper Link feature support by ESP

Some ESPs support more Sniper Link features than others. Here’s a summary:

Feature support by ESP

Sniper Link experiment results

We ran a split-test experiment using Mixpanel.

Sniper Link Split-Test

The result:

  • Variant B brought a 7% relative lift to email confirmation rates.
  • We now have a 94% email confirmation rate on new signups.
  • Users confirm their email 10% faster (based on the median time).
  • This represents thousands of extra completed signups every year.

How to implement Sniper Links

Creating a Sniper Link requires three steps:

  1. Identify
  2. Scope
  3. Link

1. Identify

When a user signs up, you first need to identify the email service associated with their address. You can do that in four different ways:

Difficulty/Accuracy/Cost

Let's cover each one step-by-step.

1A: Email Parsing

There are two main reasons to opt for this option:

  1. You just want to start with a quick experiment
  2. Most of your users don’t use custom domains

For example, this would be a starting point for detecting some Gmail users:

if (email.includes("@​gmail") || email.includes("@​google")) {
  //...
}

The only problem is that unless you’re a DTC/B2C consumer app, many of your signup emails will use custom domains (e.g., bob.marley@acme.com). In that case, you’ll need to use options B, C, or D below.

1B: Email validation service

If you’re like most established products, your forms probably already use an email validation service. These services protect your email list when spam bots try to overwhelm your signup forms.

But, some of those email validation services provide additional features.

One of them is the email service provider associated with an email address.

For example, we use ZeroBounce for our business. And Zerobounce’s API offers a smtp_provider field that can contain values such as:

  • google for Gmail (e.g., @gmail.com, @googlemail.com, etc.)
  • g-suite, for business emails using GSuite (e.g., bob.marley@acme.com)
  • microsoft for Outlook (e.g., @outlook.com, @live.com, or businesses on O365)
  • yahoo for Yahoo mail (e.g., @yahoo.com, etc.)

For Protonmail you can check if mx_record === "mail.protonmail.ch".

These values allow you to display a custom Sniper Link for each case.

1C: Email enrichment

If you don’t use an email validation service, but you already use an email enrichment service like Clearbit, you could always use that instead.

For example, Clearbit’s API returns a field named company_tech that contains values like google_apps or outlook, etc. From there, you can match the email service provider just like we explained in step B.

Note that Clearbit is roughly 27 times more expensive than ZeroBounce for this use case. So this is probably not the most cost-efficient approach.

1D: Manual Lookup

I’d only recommend this approach if:

  1. You already validated a simple experiment (see Option A: Email parsing)
  2. Your #1 constraint is your budget and
  3. You’re a developer.

In this case, you could create some code or use a DNS resolver library that automatically looks up the email server information of new signups.

Here are some link examples of resources:

2. Scope

From there, you can generate the appropriate links for each provider. Here are some examples below. Make sure to replace the underlined {code variables} and sender email:

Provider links

Note: the /u/0/ part of the Protonmail URL refers to the first user account. For example if someone has two accounts linked to their Protonmail session (e.g. bob.marley@protonmail.com accessed through /u/0/, the.wailers@protonmail.com accessed through /u/1/ ), this will only retrieve the first account. You could use a URL like https://mail.proton.me/switch to allow the person to pick their account, but by doing this, you lose the “From filter” and “Spam piercer” features.

💡Pro tip: Mobile Links

I added a column for the Mobile (iOS) links as an example just to show you that you can push the personalization even further. These href values will open the native iOS app on the user’s device. For Android, you could also use some Javascript to detect the mobile device and adapt.

The “Mobile (iOS)” links can’t simulate a full Sniper Link (with search), but it’s still a better user experience than having a mobile browser attempting to open your mailbox in a new mobile tab. Especially considering that most people have a separate app for their emails (e.g., Gmail App).

3. Link

Finally, on the page you show users after their signups, instead of passively writing “Check your inbox” as most companies do, you can display your Sniper Link based on the email service identified in Step #2: Scope.

Tadaaa 🎉! Now people will land directly on your email without being distracted, which is quicker for them and better for your onboarding funnel.

💡Pro tip: Start simple

The first version of our experiment that led to a 7% lift was very basic. We only experimented with cohorts of people who were:

  1. Gmail users (e.g., @gmail.com and @googlemail.com and @google.com) because a quick look at our email database showed that 84% of our subscribers used Gmail.
  2. Desktop users because it’s easier to detect a lift. In our case, most of our visitors are desktop users by the nature of our interactive full screen case studies, so that helped even more.

Every audience is different. And a user’s willingness to confirm a signup email depends on the product and context. So before you invest a ton of effort implementing a fully personalized Sniper Link, we recommend you run a simple A/B test with only a subset of your new users to validate if it’s worth the rest of the total implementation effort.

Your next steps

Less than 1% of onboardings use Sniper Links (few people know about them).

So, if you want to implement them here are some helpful links:

👁️ Example

We use Sniper Links on our sign up page. If you sign up, you’ll see how we adapt the post-signup step based on your email provider (please note that this will be a real signup, so you’ll receive our future case studies).

Additionally, here are 3 more free resources:

📚 Resources

  1. If you're a visual learner, check this Sniper Link animated explainer
  2. I made a 1-pager summary for you: Sniper Link cheat sheet
  3. View this Trello case study (or our other case studies)

(By the way, this article was originally published on our site.)

Hope that helps ✌️

P.S. if you have any questions (or feedback on this) don't hesitate to drop a comment below. I try to reply to everyone.

posted to Icon for group Growth
Growth
on May 3, 2023
  1. 9

    We thought that this was genius so we turned it into a UI library webcomponent that anyone could use. I hope that was the right call: sniper link web component library

    1. 3

      Thanks for your work and credits!

    2. 1

      I'm going to try this out.

  2. 3

    For our product, we have automated the email domain verification.

    Once the user signs up, we extract the domain from the email, then check their MX and other email related DNS record to see who handles their email.

    Basically, doing in-house what ZeroBounce does and charges for.

    1. 1

      Well done! That's a very cost-efficient way to do it. We use Zerobounce for the spamtrap, enrichment, etc. But if it wasn't for that, we would likely do what you did.

  3. 3

    Great idea. And it goes waaaay beyond just confirmations.

    You can also use this technique to remind subscribers of a previous email (useful for courses delivered via email).

    For example, insert the sniper link into an email that says, "As we discussed in Lesson 3 <sniper link based on subject line>". We've taken several email courses and often struggle to reference previous material (even if the subject lines are numbered).

    1. 1

      100%.

      Another interesting use case is customer support tickets: when some of our customers can't find our "course welcome email" because it landed in their spam, we use a support email template with a sniper link in it.

      1. 1

        Funny, I was thinking the same thing. :)

        You could also post it on your site, and show it to people who've already subscribed. (ConvertKit makes it easy to hide opt-in boxes for subscribers.) You could put tons of relevant links in this section: specific emails, entire courses (based on subject line), etc.

  4. 2

    Wow, never seen anyone use something like this before

  5. 2

    Very nifty approach. I'm gonna try it out as well. Will let you know how it is going to move our metrics.
    Thanks a lot for sharing

  6. 2

    This is great! Thank you for sharing this Dan

  7. 2

    This is utter genius!! Implementing this into our process tonight.

  8. 2

    To me this seems like a great opportunity for an Indie Hacker. Seems like a lot of work to setup, but you could probably build a micro SaaS out of this concept.

  9. 2

    Wow. This is super cool. It's so simple as well and something I would have never have thought of. Great to see the statistical difference in sign ups too.

    Do you have stats on how many clicked the 'go to gmail' button and how many went to their email manually?

    Some folk are a bit paranoid and won't want to go directly to their inbox, but I suspect most won't mind.

    1. 1

      Thanks Dan. I think it was ~55% of people post-signup clicked the button. The median time to user confirmation was faster as well. It's safe to assume that SSO buttons bring a similar benefit (we're running an AB test on that as well, results seem good so far).

      1. 1

        Good to see another Dan too. Montreal is a lovely city by the way. Actually reminds me a little of Glasgow, Scotland where I'm from.

        Brilliant, 55% is a great stat. Do you use any tools for your A/B testing? I'm super new to this stuff (this is day 2 for me) and I've just learned about this today from listening to the 'Traction' audiobook someone mentioned.

        1. 1

          🏴󠁧󠁢󠁳󠁣󠁴󠁿🤝🇨🇦

          RE: A/B Testing:
          We use custom events in Mixpanel!

          1. 1

            Brilliant.

            Thanks

  10. 2

    Very valuable. Love the approach. I'm thinking of a slightly user dependent approach by partially parsing the email using technique 1 and showing multiple buttons ("Open Your Gmail", "Open Your Outlook")with images of the apps when you are not sure.

    1. 1

      Thanks! Yes, that's another approach! We've noticed from a couple of experiments that the more options you include, the harder the interaction decision is (Hick's Law), which is why we try to strip out redundancy in these kinds of flow. With that said, showing multiple buttons is a reasonable shortcut as well.

  11. 1

    @danbe very well written article. Thanks for sharing this with the community I will definitely try this out

  12. 1

    Hmm, interesting! Will definitely give it a try. Thanks for sharing!

  13. 1

    Would you be able to give a little more detail on how to achieve Option 1A: Email Parsing? It’s “easy”, but still sounds a bit technical :)

    1. 2

      I didn't want to dive too much into the details here because it depends on your current setup and each flow is unique (e.g. if you use a custom form, Convertflow, etc).

      To clarify: this requires foundational Javascript knowledge. I'd recommend getting in touch with a developer (I'm not one, but there are likely plenty in this community) if you need help!

  14. 1

    Wow this is genius, great work!

  15. 1

    Such a neat trick, thanks for sharing.

    1. 1

      Really appreciated Martin. Cheers.

  16. 1

    Well it's interesting. Is it legal or illegal?

  17. 1

    Great insights! Thanks for sharing all of these Dan.

    1. 1

      Thanks Christian, appreciated.

    1. 1

      Sure thing, don't hesitate if you have any questions.

  18. 1

    Very cool! Surprised this hasn't been really done much before.

    1. 1

      Thanks—so was I!

  19. 1

    This is really well explained!

    1. 1

      Thanks, I like reading "complete" guides, so I tried to aim for that.

  20. 1

    This is a really cool tip, but the thing I appreciated most was your detailed stats and A/B test breakdown. 7% increase to conversion is insanely great, and makes we want to try to implement this myself.

    1. 1

      Thanks Harrison. Obviously results may vary based on audience, niche, etc. But implementing the very basic version (gmail only) can't hurt.

      We run a decent amount of tests per month. The latest one we're trying is Google SSO. It should be an interesting comparison.

  21. 1

    wow, thanks a lot for this detailed gem. Does someone know if that can be easily used with Mailchimp?

    1. 1

      Yes u can check

    2. 1

      To the best of my knowledge, Sniper Link personalization isn't offered out of the box by ESPs like Mailchimp (email service providers). It's something that has to be implemented manually.

  22. 1

    That's Cool !! it will help me lot to increase signups for AI Writing Tool (writeme.ai) .Currently i can not convert my users or visitors into conversions.

    1. 1

      To be sure, sniper links aren't a panacea for product-market fit, but it can help a product that already works get more users. Hope that helps!

  23. 1

    If the link works correctly, for sure this is going to increase your sign-up rate. Users are lazy nowadays. If you can feel all the info to them right away, they will be more willing to do things you want. However, on iPhone if I use Gmail more, not Apple's mail, I remember it will just open apple mail. Is there a way to avoid that issue?

    1. 1

      The logic on mobile is that the user needs to have the app installed. If the app isn't installed, it won't work.

  24. 1

    Amazing share thanks!

  25. 1

    Thanks for sharing!! it's 1000% helpful

  26. 1

    Interesting... @danbe what's your reasoning behind using double opt-in instead of single? I get that it means a higher-quality list, but it also means a smaller list. I'd be interested in hearing your thoughts on the cost/benefit.

    1. 3

      Email reputation is underrated.

      It's easy to send 100,000 emails.

      But it's insanely hard to send 100,000 emails and get 60,000 opens.

      Especially because sender reputation is a compounding metric. Meaning that as soon as your open rates start to slip, there's a lot of inertia to bring it back up. Spam bot attacks became more likely to happen as we grew. And that's a huge danger for sender reputation. Engagement is typically higher for double-optins so it's a win-win: safe and sustainable.

      For our emails, we focus on clicks (and indirectly opens) as our key metrics (not the raw list size).

      The "Deliverability Defined" podcast (from CK) has a full episode on the topic if you want to dive deeper (https://feeds.transistor.fm/deliverability-defined).

  27. 1

    🤯 Simple and elegant. Love it.

  28. 1

    I really like your idea and the structure of the link you shared. It means you're applying a unique filter that enables users to see results from the specific domain they want to verify. It's a superb idea :)

    1. 1

      Thanks James! You're right, that's exactly the intent.

  29. 0

    Good one for email marketers...

  30. 1

    This comment was deleted 2 years ago.

Trending on Indie Hackers
Meme marketing for startups 🔥 User Avatar 11 comments 40 open-source gems to replace your SaaS subscriptions 🔥 🚀 User Avatar 1 comment After 19,314 lines of code, i'm shutting down my project User Avatar 1 comment Need feedback for my product. User Avatar 1 comment We are live on Product Hunt User Avatar 1 comment Don't be a Jerk. Use this Tip Calculator. User Avatar 1 comment