---
title: "Run a campaign health check"
description: "Let Scratcher test your live site, embed script, integrations, webhooks, prizes, emails and consent before you launch, and learn what each check means and how to fix it."
url: https://scratcher.io/help/campaigns/campaign-health-check
language: en
---

1. [Help center](https://scratcher.io/help)
2. [Campaigns and the editor](https://scratcher.io/help/campaigns)
3. Run a campaign health check

# Run a campaign health check

Let Scratcher test your live site, embed script, integrations, webhooks, prizes, emails and consent before you launch, and learn what each check means and how to fix it.

The campaign health check tests your whole setup in one go: your live website, the embed script, webhooks, integrations, prizes, emails, consent and more. Run it before you launch, and again whenever something seems wrong.

## Run the health check

1. In the editor, click **Run campaign health check** in the top bar (the check list icon).
2. Click **Run check**. The checks run one by one, which takes a little while.
3. Each check gets an icon: passed (green), warning (orange) or failed (red). A grey check was skipped because it doesn't apply to your campaign, for example the webhooks check when you have no webhooks. At the top you see how many checks passed, how many warnings there are and how many failed.
4. Turn on **Show only issues** to hide everything that passed or was skipped.
5. Hover over a check's name to see what it tests, and read the message below it to see what was found.
6. Some checks that need attention get a link, such as **Go to webhooks** or **View & fix**. Click it to go straight to the right place.
7. Fix the problem and click **Run again**.

You can also ask Rex: "Is my campaign ready to go live?" Rex opens and runs the health check for you.

> Good to know: the health check looks at your campaign as it is in the editor, including changes that aren't live yet.

## Site is live

Tests that the web page where the campaign is embedded loads and responds.

- **Skipped** if the campaign isn't embedded on your website yet. Scratcher notes the page once the campaign has loaded there, or you can enter it yourself under **Channels** > **Your website**. See [Track channels, Google Analytics and pixels](https://scratcher.io/help/results/track-channels-and-pixels).
- **Failed**: the page could not be reached. The message shows the address and the reason. Check that the address is right and that the page is online.

## Embed script

Loads your page in a real browser and checks that the Scratcher embed script is there and runs. Either the script for this campaign or your account-wide script counts. A script added through a tag manager is found too.

- **No script found**: add the embed script to the page. See [Embed a campaign on your website](https://scratcher.io/help/sharing/embed-on-your-website).
- **The script is on the page but blocked by the site's Content-Security-Policy**: see the next check.
- **The script is on the page but did not run yet**: most often your website's cookie banner holds the script back until the visitor accepts cookies. That is normal. Accept the cookies on your live site and check that the campaign shows. If it still doesn't, contact us.

## Site's Content-Security-Policy allows Scratcher

Some websites have a security setting, a Content-Security-Policy, that only lets scripts from approved websites run. This check reads it.

- **Passed**: the page has no such setting, or it already allows scratcher.io.
- **Failed**: the setting doesn't mention scratcher.io, so it will probably block the campaign. Ask your web developer or IT team to add scratcher.io to it. The message shows the current setting, so you can send it to them.

## Webhooks respond

Sends a test to each webhook of the campaign and checks that it answers successfully. If one fails, the message lists its address. Click **Go to webhooks** to check it. See [Send data to your systems with webhooks](https://scratcher.io/help/developers/webhooks).

## Integrations connected

Checks that each integration of the campaign has delivered a lead successfully, or passed a connection test.

- **Failed**: an integration is failing to deliver leads. The message names it. See [Check the delivery status and resend leads](https://scratcher.io/help/integrations/delivery-status).
- **Warning**: an integration has never delivered a lead or been tested. Test it from the campaign's integration settings.

Click **Go to integrations** to open them. Custom integrations are not part of this check.

## Prizes configured

Checks that the campaign has at least one prize, and that the win chances of a game don't add up to more than 100%.

- **Failed**: "No prizes are configured for this campaign." Add a prize. See [Add a prize](https://scratcher.io/help/prizes/add-a-prize).
- **Warning**: the win chances total more than 100% on one or more games. Lower the chances, unless you have deliberately allowed this in the game's settings. See [Set the win chance and prize limits](https://scratcher.io/help/prizes/win-chance-and-limits).

## Prize redeem codes configured

For prizes that must be redeemed, checks that the redeem step is ready: discount codes are uploaded or a fixed code is entered, or barcodes are set up. Prizes that are redeemed manually always pass.

If it fails, the message names the prizes that still need codes or barcodes. See [Give discount codes as prizes](https://scratcher.io/help/prizes/discount-codes) and [Barcodes and redeeming prizes in store](https://scratcher.io/help/prizes/barcodes-and-in-store-redemption).

## No empty pages

Checks that every page has at least one element. A warning tells you how many pages are empty. Add content to them or delete them. See [Add, reorder and manage pages](https://scratcher.io/help/campaigns/pages-and-flow).

## Winner emails configured

If the campaign sends winner emails, checks that every prize is covered, either by its own prize email or by a campaign-wide email sent "When a lead wins a prize".

- **Failed**: some prizes have no winner email, so those winners won't be told. The message names them. Add a prize email, or a default prize email for all prizes.
- **Warning**: a winner email exists but isn't active. Click **Activate email** on it.

See [Send emails to players](https://scratcher.io/help/campaigns/send-emails-to-players).

## Consent checkbox configured

If the campaign collects data with a form, checks that there is at least one required consent checkbox. A warning means there is none. Add one to the form. See [Ask for consent and add terms and conditions](https://scratcher.io/help/forms/consent-and-permissions).

## Consent text customized

Checks whether your consent checkboxes still use your account's default text. A warning names them. Adjust the text to this campaign, for example name the brand and what people sign up for.

## Terms & conditions page linked

If a condition is set to link to a terms and conditions page inside the campaign, checks that the page still exists. If it fails, the page was probably deleted. Choose another page for the condition, or add a new terms page.

## Campaign dates are valid

Checks that the campaign isn't still marked as active after its end date has passed. If it fails, set a new end date and click **Update**, or end the campaign. Campaigns that are **Always on** or have no end date are skipped. See [Publish, schedule, pause and end a campaign](https://scratcher.io/help/campaigns/publish-and-schedule).

## Tracking pixels have event mappings

Checks that every tracking pixel on the campaign has at least one event mapping. A pixel without mappings sends no conversions. Click **Go to event mapping** to add them. See [Track channels, Google Analytics and pixels](https://scratcher.io/help/results/track-channels-and-pixels).

## Popup visible on at least one device

For popups, checks that the popup isn't hidden on desktop, tablet and mobile all at once, because then nobody would see it. If it fails, turn off **Hidden on desktop**, **Hidden on tablet** or **Hidden on mobile** in **Display**. See [Show a campaign as a popup](https://scratcher.io/help/sharing/show-a-campaign-as-a-popup).

## No editor errors or warnings

Checks the errors and warnings the editor has found in the last hour. Errors must be fixed before the campaign can go live; warnings are worth a look. Click **View & fix** to open the list. See [Editor errors and warnings](https://scratcher.io/help/campaigns/editor-errors-and-health-check).

## If a check can't run

If a check says "Could not run this check.", something went wrong while checking. Click **Run again** a little later.

Campaigns and the editor

- [Create a campaign from a template](https://scratcher.io/help/campaigns/create-a-campaign)
- [Get to know the editor](https://scratcher.io/help/campaigns/editor-overview)
- [Add, reorder and manage pages](https://scratcher.io/help/campaigns/pages-and-flow)
- [Add and edit texts, images and other elements](https://scratcher.io/help/campaigns/add-and-edit-elements)
- [Add your brand with the design kit](https://scratcher.io/help/campaigns/design-kit)
- [Animations, confetti and other effects](https://scratcher.io/help/campaigns/animations-and-effects)
- [Personalise texts with dynamic tags](https://scratcher.io/help/campaigns/dynamic-tags)
- [Publish, schedule, pause and end a campaign](https://scratcher.io/help/campaigns/publish-and-schedule)
- [Preview and test your campaign](https://scratcher.io/help/campaigns/preview-and-test)
- [Editor errors and warnings: what they mean and how to fix them](https://scratcher.io/help/campaigns/editor-errors-and-health-check)
- [Run a campaign health check](https://scratcher.io/help/campaigns/campaign-health-check)
- [Run a campaign in several languages](https://scratcher.io/help/campaigns/languages-and-translation)
- [Organise, copy and delete campaigns](https://scratcher.io/help/campaigns/organise-campaigns)
- [Send emails to players](https://scratcher.io/help/campaigns/send-emails-to-players)
- [Plan your year with the Plan calendar](https://scratcher.io/help/campaigns/plan-your-campaigns)
- [Products and product feeds](https://scratcher.io/help/campaigns/products-and-product-feeds)
- [Good to know about the editor](https://scratcher.io/help/campaigns/editor-good-to-know)

## Related articles

- [Embed a campaign on your website](https://scratcher.io/help/sharing/embed-on-your-website): Put a campaign inside a page on your website with the embed script or an iframe, check that it works, and fix common problems.
- [Publish, schedule, pause and end a campaign](https://scratcher.io/help/campaigns/publish-and-schedule): Set the start and end dates, publish, put changes live with Update, and pause, stop or reactivate a campaign.
- [Editor errors and warnings: what they mean and how to fix them](https://scratcher.io/help/campaigns/editor-errors-and-health-check): Every error and warning the editor can show, what it means and how to fix it, and which ones stop you from publishing.

## 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.
