---
title: "Show a campaign as a popup"
description: "Install the script once, choose the popup type, and decide on which pages, when, how often and for whom it shows."
url: https://scratcher.io/help/sharing/show-a-campaign-as-a-popup
language: en
---

1. [Help center](https://scratcher.io/help)
2. [Publishing and sharing](https://scratcher.io/help/sharing)
3. Show a campaign as a popup

# Show a campaign as a popup

Install the script once, choose the popup type, and decide on which pages, when, how often and for whom it shows.

A popup shows on top of your website, for example after a few seconds or when a visitor is about to leave. Popups are created as popups from the start.

## Create a popup and show it on your site

1. On the **Campaigns** page, switch to **Popups** and click **Create popup**. Pick a template, give it a **Popup name**, choose the country and **Language**, and click **Create popup**. See [Create a campaign from a template](https://scratcher.io/help/campaigns/create-a-campaign).
2. The editor asks you to **Choose domain**: enter the website where the popup will be shown, for example example.com, and click **Save**. You can change it later.
3. Open **Settings** > **Embed & URL** > **Embed script** and copy the script.
4. Paste the script on every page of your website, for example in the header or footer template, or with Google Tag Manager.
5. Choose the popup type under **Placement**, and where, when and how often it shows under **Display** (see below).
6. Click **Publish**. The popup appears on your website within a few minutes.

Popups use one script for your whole account. You install it once, and all your popups work from then on, including the ones you make later.

Once the script has been found on your site, the **Embed script** panel lists your **Websites**, each marked **Installed**. Click **+ Add website** to copy the script again for another website (**Script copied!**). Until then, the panel says **Not installed**.

## Placement: domain, type and position

Open **Placement** under **Layout**:

- **Domain**: the website the popup is shown on. Click **Edit domain** to change it. Turn on the add-on **Multiple domains** ("Embed this campaign on more than one domain") to show the popup on several websites. The section is then called **Domains**, and you click **Add domain** to add each one.
- **Type**: a bar at the top or bottom, a standard popup, a slider at the side, or a full page. If a type is greyed out, your plan doesn't include it.
- **Alignment**: bars can be at the top or bottom, sliders on the left or right, and standard popups anywhere on a 3 × 3 grid. A full-page popup has no alignment.

## Display: on which pages

Open **Display** and the **Targeting** tab.

- **All pages**: "This popup will be visible on every page of your website."
- **Specific pages**: click **Add page targeting** and set up a rule:
    1. **Action**: **Show** or **Hide**.
    2. **Match type**: **Matches** for the exact path, or **Contains** for any address that includes the text.
    3. **URL path**: for example /shop. If you paste a full address, the domain is removed for you.
    4. Click **Add**.

Each rule is shown in plain words, such as "Show popup if URL contains /shop". Add as many as you need, for example show on "/shop" and hide on "/checkout". Delete a rule with the bin icon.

## Display: when it opens

On the **Triggers** tab, turn on one or more triggers:

- **Show after delay**: "Show after X seconds when the page has loaded."
- **Exit-intent**: "Show when the user is about to leave the page." It reacts to the mouse leaving the page, so it works on computers, not on phones.
- **Scroll**: "Show when a visitor scrolls down X% of the page."

At the bottom of the panel, the add-on **Click trigger** opens the popup when a visitor clicks something on your website. Add the element's CSS **Selector**, for example `.open-competition`, and ask your web developer if you are unsure.

The triggers are only for the popup. If the popup has a teaser, the teaser always shows when the page loads, and clicking it opens the popup. With no trigger turned on, the popup only opens from the teaser or a click trigger.

## Display: how often and for whom

On the **Settings** tab, under **Targeting**:

- **Show count**: "Hide your campaign after a visitor has seen it X times."
- **Delay**: "The delay in days between showing the popup to repeat visitors."
- **Priority**: popups with a higher priority are shown before your other popups.

Under **Device visibility**, turn on **Hidden on desktop**, **Hidden on tablet** or **Hidden on mobile**.

When a visitor closes the popup, the teaser comes back so they can open the popup again later. If the popup has no teaser, or **Dismiss teaser on close** is on, a visitor who closes the popup doesn't see it again in that browser.

The add-ons at the bottom of the panel limit who sees the popup:

- **Allowlist IPs**: "Only visitors from these IP addresses can see the popup." Handy for testing a popup on your live site before everyone sees it.
- **Blocklist IPs**: "Visitors from these IP addresses can't see the popup." For example your own office.

## Limits for your whole website

When you have several popups, **Popups per session** and **Popup delay** under **Settings** > **Data & access** stop visitors from seeing too many popups in one visit. See [Data & access: deletion, support access and popups](https://scratcher.io/help/account/data-and-access-settings).

## Design the popup and teaser

See [Design a popup and its teaser](https://scratcher.io/help/sharing/popup-design-and-teaser).

## Test the popup

- Use **Preview** in the **View campaign** menu to see the popup before it goes live.
- On your website, test in a private browser window. Your normal browser remembers that you have already seen or closed the popup, and then it may not show again.
- If it doesn't show: check that the campaign is published, that the script is on the page, that the domain is right, and that your page targeting and triggers match the page you are on.

Rex can help here too, for example: "Only show this popup on pages with /shop".

Publishing and sharing

- [Share your campaign link and QR code](https://scratcher.io/help/sharing/share-your-campaign-link)
- [Share a campaign on social media](https://scratcher.io/help/sharing/share-on-social-media)
- [Embed a campaign on your website](https://scratcher.io/help/sharing/embed-on-your-website)
- [Show a campaign as a popup](https://scratcher.io/help/sharing/show-a-campaign-as-a-popup)
- [Design a popup and its teaser](https://scratcher.io/help/sharing/popup-design-and-teaser)
- [Choose your campaign's web address](https://scratcher.io/help/sharing/campaign-url-and-own-domain)
- [Send emails from your own domain](https://scratcher.io/help/sharing/email-sending-domain)
- [Rotate campaigns with campaign schedules](https://scratcher.io/help/sharing/campaign-schedules)

## Related articles

- [Embed a campaign on your websitePut a campaign inside a page on your website with the embed script or an iframe, check that it works, and fix common problems.](https://scratcher.io/help/sharing/embed-on-your-website)
- [Design a popup and its teaserChoose the popup type, style the popup, backdrop and close button, and add a teaser that invites visitors to open it.](https://scratcher.io/help/sharing/popup-design-and-teaser)
- [Data & access: deletion, support access and popupsDelete lead data automatically after a campaign ends, give our support team access, and limit popups on your site.](https://scratcher.io/help/account/data-and-access-settings)

## Still need help?

Real people are here to help. If you already use Scratcher, the quickest way is the chat inside the platform.

- **[Chat with us](https://platform.scratcher.io/login)**

    Log in and click the chat button in the bottom-right corner. Rex answers right away, and our team is a click away.
- **[Book a meeting](https://scratcher.io/book-a-meeting)**

    A free 30-minute video call with our team: a tour, campaign ideas or help with your setup.
- **[Email us](mailto:contact@scratcher.io)**

    Write to contact@scratcher.io and we will get back to you.
