“I love pop-up ads,” said nobody…ever. Pop-up ads have to be one of the most universally hated parts of online marketing. They’re annoying, interruptive and distracting. In fact, they’re so generally loathed that their inventor, Ethan Zuckerman, has apologized publicly for creating them.

So why do we as marketers keep using them?

Although Zuckerman’s original windowed display ads have gone out of vogue, pop-up ads are everywhere on the internet. And their most prevalent form? On-site pop-up ads.

Now, some companies have tried to rebrand these sorts of pop-up ads using fancy titles like “exit overlays,” but at the end of the day, a pop-up ad is still a pop-up ad. It pops up on the user’s screen, hijacks their experience and bugs the heck out of people.

But here’s the thing. There’s a reason why pop-up ads are still so commonly used. They work. Quite well, in fact. The problem with pop-up ads isn’t necessarily that the ads themselves are bad, it’s that most marketers don’t know how to use them effectively.

The good news is, with the right strategy, pop-up ads can actually be a very effective way to convince people to sign up for your email list, become a lead or buy your products. You simply have to figure out how to provide value…and minimize frustration.

So, in this article, we’re going to take a look at why pop-up ads can be so effective, why most people dislike them, and how to use pop-up ads in a way that works – for you and your site traffic. Let’s dive in!

The power of the pop-up

Why do people hate pop-ups? Because they interrupt the user experience. You’re in the middle of checking out a website or searching for something specific and then, suddenly, a giant pop-up ad appears, forcing you to look at it, pay attention to it and deal with it.

Which, incidentally, is why pop-up ads work so well.

One of the biggest problems with online advertising is figuring out how to get people to pay attention to your ads. Banner blindness is a very real thing, and if your ad doesn’t interrupt the user experience in some way, people often won’t even notice your ads.

Pop-up ads, however, force people to pay attention to them in the same way that YouTube ads and TV commercials do. With a pop-up ad, you don’t have to wonder whether or not people will see your ad – they’ll definitely see it, even if their only interaction with your ad is trying to get rid of it.

The real problem with pop-up ads, though, is that they’ve been abused by marketers for years. Even without the scams, virus downloads and other illegitimate uses of pop-up ads, marketers have been so aggressive with pop-ups over the years that many people have a knee-jerk negative reaction as soon as they see one.

Not many ads can claim to have a 73% disapproval rating. That’s an even worse disapproval rating than any U.S. president has ever had. Even Google penalizes advertisers for using them. So why do businesses keep using them?

Well, because they work.

While people say they hate pop-up ads, their actions tell a very different story. With my own business, Disruptive Advertising, our on-site pop-up ads convert as much as 7% of the people who see them. Some companies have used them to increase email signups by almost 14x or leads by 162%. In fact, after assessing 2 billion pop-up ads, Sumo reported that the average pop-up ad converted over 3% of viewers.

As much as people seem to despise pop-up ads, marketers keep using them because their users keep responding to them. However, there is a danger to using pop-up ads with the wrong strategy. While people do seem to respond to pop-up ads, but if you don’t use them properly, you can easily frustrate your site traffic…and Google. Lousy pop-up experiences are bad for everyone, but with the right approach, they can be great for your business.

Creating pop-up ads that users actually like

If you want to get good results from your pop-up ads, they have to provide value. Remember, three-quarters of your site traffic will instantly be annoyed by the appearance of a pop-up ad, so you’re starting in a pretty bad place. To recover, you need to offer enough value that people will be willing to forgive your advertising faux pas.

Think about it like this. On a Saturday evening when you’re trying to relax and catch your breath from the day’s chores, an unexpected knock at the door can feel like a real inconvenience.

If it’s an aggressive salesperson at the door, how open are you going to be to their pitch? Odds are, you’ll be looking for the quickest out you can find. A friendly neighbor carrying a plate full of cookies, on the other hand, will probably get a much warmer reception.

In both cases, your evening has been interrupted, but a free plate of homemade cookies is a far more welcome interruption than a sales pitch.

Similarly, if you want people to feel positive about your pop-up ads, you have to make the interruption a positive one by offering something valuable. People don’t mind interruptions when they get something they want in exchange.

Now, how do you do that with your pop-up ads? Here are a few ideas:


Most visitors to your website are in information-gathering mode. In effect, they’re like window-shoppers checking out the contents of your site – interested, but not exactly ready to buy unless something jumps out at them.

Lucky for you, nothing quite jumps out on a website like a pop-up ad – particularly when that pop-up ad contains a discount.

In many ways, this sort of pop-up is the digital equivalent of hiring a person to hand out coupons at the entrance to a brick-and-mortar store. It grabs people’s attention and makes them more likely to buy. And, as an added benefit, you can snag their email address in exchange for the discount.

The beauty of this sort of offer is that it doesn’t even matter whether or not they buy today. Sure, a discount code increases the likelihood that they’ll buy today, but even if they don’t, they’ll be more likely to come back – especially if you drop them into an email drip campaign that helps them realize just how awesome your business is.

Exclusive access

While there are ways for non-e-commerce businesses to offer discounts in a pop-up ad, if you aren’t running an e-commerce business, you may need to find other types of value to offer in your pop-ups.

For businesses with a solid content marketing strategy, you may want to use your pop-up ads to advertise exclusive content. This works particularly well if they’re already checking out your content. After all, if your free content was good, your exclusive content must be even better.

Many businesses use white papers, ebooks or other types of content upgrades to encourage people to hand over their email address. This sort of tactic is very handy when you have a longer sales cycle and want to build brand familiarity before you start pushing for a sale.

And the best part? By locking your best content away, you create a sense of scarcity that increases the perceived value of your content. Maybe your gated content really is way better than the content users can find on your blog, but even if it isn’t, it doesn’t matter. Because it isn’t freely available, people will believe that it’s more desirable.

Time-limited offers

Along the same lines, you can also advertise limited-time deals with pop-up ads. With this tactic, the value of the pop-up is the heads-up. After all, no one wants to miss out on a deal.

However, for this strategy to work, your time-limited offer needs to make sense. If it feels arbitrary or manipulative, people will doubt the validity of the offer and, by extension, the trustworthiness of your business. That’s the exact opposite of what you want.

But, if you’re running an event and ticket prices will go up in a couple of weeks, or you’ve got a Black Friday deal that ends on Cyber Monday or any other similar sort of time-limited offer, letting people know is something of a public service announcement. People will appreciate the heads up and feel motivated to act sooner.


Love them or hate them, pop-up ads work and they’re here to stay. While most people despise pop-up ads, with the right strategy, you can create valuable pop-ups that your site traffic will actually appreciate.

Ultimately, that’s the key to all advertising. People want to feel like they’re getting value from the ads they see. When they’re irrelevant and distracting, people get frustrated. But when they’re relevant and valuable, people get excited.

The problem with pop-up ads has never been the format, it’s been the fact that the format has been abused for years. People are used to pop-up ads being pushy and obnoxious, but they don’t have to be.

With the right approach, you can create pop-up ads that visitors to your website love and that help you milk even more conversions from your site traffic. And that, my friends, is a win for any business.

Opinions expressed in this article are those of the guest author and not necessarily Marketing Land. Staff authors are listed here.

About The Author

Jacob is passionate entrepreneur on a mission to grow businesses using PPC & CRO. As the Founder & CEO of Disruptive Advertising, Jacob has developed an award-winning and world-class organization that has now helped over 2,000 businesses grow their online revenue. Connect with him on Twitter.


Every front-end developer uses CSS frameworks, even those saying they don’t.

Sebastiano Guerriero

Anytime the “what’s your favorite CSS framework” question pops up, you read the same comments: a bunch of developers expressing their love for framework X or Y, and others stating they don’t use frameworks.

Some of the reasons why some developers say they don’t use CSS frameworks:

  1. Frameworks are opinionated.
  2. Why would I need a framework when I can write clean CSS myself?
  3. Frameworks are bloated with stuff I don’t need.

But what is a framework, exactly?

A framework is a supporting structure around which something can be built.

A framework doesn’t need to be opinionated. Its CSS can be as clean as yours (or it could literally be yours). It can be super slim, to the point where it includes only a bunch of reusable rules.

If you do one of the following, you’re using a framework even if you say you don’t:

  1. You have a bunch of utility classes that you copy and paste from project to project.
  2. You have a set of basic rules (e.g., for typography and spacing) that you copy into new projects, and then tweak to accommodate different needs.
  3. You have a boilerplate for the style of buttons and forms that is easy to customize.
  4. In general, in any case where you reuse something across different projects.

There’s only one case when you can say you don’t use a CSS framework, and it’s the truth: if you start a project with your CSS files completely blank.

But seriously, why would you do that? ?

I know I’m being pedantic. “When I say I don’t use a CSS framework, I’m referring to Bootstrap, not 20 lines of code!”, I hear you scream. However, I think there’s a misleading message that is delivered to young developers: “Frameworks are bad. If you were a good developer, you’d write clean CSS from scratch”. And yet millions of developers download Bootstrap every month. Are they all making a mistake? Not at all.

You could use a super slim framework or create one yourself, and it would be fine. You could use a heavier framework or create one yourself, and it would be fine.

Starting from (literally) scratch every time does not prove you’re a good developer.

Let me walk you through the main problems a framework helps you solve and why we all need one.

When Claudia and I started working on the CodyHouse Components project (a library of HTML, CSS, JS web components), we soon realized how important it is to have global styles and abstract rules.

A global style is a rule that, when modified, affects all the components it crosses (e.g., a buttons.scss file where you store the style of your buttons).

A CSS abstraction is a rule that gives the same result regardless of the element it is applied to (e.g., utility classes).

Global styles make your project customizable. For example, if you create a reusable typography.scss file where you define the type scale, you can 1) edit the type scale and affect all the components of your current project or 2) set a custom type scale for your next project.

Type scale as set in the CodyHouse Framework

CSS abstractions make it easier to create component variations without the headaches caused by naming things. For example, imagine you create a new component. If you want to create two class modifiers where the text is aligned in the center or right, you end up doing the following:

Then you create another component and have the same ‘issue’. Once again, you create two new class modifiers:

An alternative approach would be creating 3 utility classes (abstractions):

Now you can have infinite components and apply the same utility classes to align text.

I’m not suggesting you should create utility classes for everything (even though some frameworks do so, and developers love them). Find your own balance, create the abstractions you need.

If you come up with a pattern that works, why wouldn’t you extend it to new projects (and include it in your framework)? For example, you start working on accessibility and soon realize how handy it is the .sr-only utility class:

Is there any reason why you shouldn’t use it in all your projects? Nope.

Opening up an old CSS project is a pain; we all know that. However, it doesn’t need to be THAT painful. Using the same framework across multiple projects means working with patterns you’re already familiar with. If you use the same mixins, global settings, grid rules, and utility classes, you’ll need less time figuring out how to do stuff.

For example, let’s imagine you have created a scale of spacing values:

Spacing scale as set in the CodyHouse Framework

You know you can go ahead and modify a component using one of the scale values:

The spacing values may vary in different projects, but the way you apply them is the same. You go ahead and set padding: var(--space-md). If it’s too small/big, you can pick another value (or edit the scale).

The alternative approach would be:

  1. First, figure out how spacing rules were set when the project was initiated.
  2. Then, apply the spacing rules.

That extra step makes all the difference in the world. It’s where the frustration lies: figuring out things when you, or someone else you work with, already went through that process before.

Frameworks evolve and get updated (e.g., when you learn new patterns and replace old ones). There will be cases when you still need to remember how/why some rules were set in the first place. It sucks, but working with reusable patterns (framework) means reducing the number of times this happens.

One more advantage of creating your own framework is learning to identify reusable patterns. You find that piece of your CSS puzzle that could work across multiple projects, and decide to store it in a safe place (your framework).

Or, you can learn from frameworks created by other developers. Question why that rule was abstracted. If you can’t come up with an answer, google it; or ask the author.

The process of questioning what you do and discovering the mechanics behind a decision is what makes you learn. Not the assumption that you have to come up with all the solutions yourself.

A CSS framework is a tool. It’s not good or bad, and it doesn’t define you as a developer. When you find a pattern that works, save it. If you find a framework that ticks all your boxes, use it. As long as you learn in the process, nothing bad comes from using it. Quite the opposite.

If you’re looking for a lightweight front-end framework for building accessible, bespoke interfaces, check out CodyHouse!