# Source-based targeting

Canonical URL: https://support.optimonk.com/en/articles/source-based-targeting

Traffic source targeting lets you show a different message to visitors arriving from different places — Google Ads, Google organic, Facebook or direct — with one setting. With a custom source you can match any `utm_source` value, so you are not limited to the four built-in ones.

The rule is called **Source** — *Google, Facebook, direct, custom* — and the editor sums it up as: *Use this field when you want to show the popup to visitors coming from a given source.*

---

## How traffic is classified

**Direct:** the visitor arrives on your site without having clicked a link on another site.

**Google organic:** traffic from search engine results that is earned, not paid.

**Google Ads:** traffic from search engine results that is the result of paid advertising.

**Facebook:** traffic arriving from Facebook.

**Custom:** anything you can identify by its `utm_source` value — a newsletter, an affiliate, another ad platform.

---

## Set the rule up

1. Open **Campaigns** in the left menu and click the campaign you want to edit.
2. Open the **Settings** tab of the campaign.
3. Scroll to **Who should see the popup** and click **Add new rule**.
4. Pick **Source** from the list.
5. Choose the source in the **Traffic from** dropdown: **Google organic**, **Google Ads**, **Facebook**, **Direct** or **Custom…** (the rule opens on Google organic).
6. Click **Save** in the rule window, then **Save changes** in the bar at the bottom of the page.

On a campaign that is already published, the saved rule is pushed to the live campaign, so you don't have to publish again.

💡 You can also ask the assistant on the right to do it for you — *"only show it to visitors coming from Facebook"*.

---

## Custom sources

Pick **Custom…** and two more controls appear: an operator and a text box. The window explains it: *Choosing "Custom" lets you match a specific utm_source value with an operator (equals, contains, starts with, …).*

| Operator | Matches when the utm_source value… |
| --- | --- |
| equals | is exactly what you typed |
| not equals | is anything else |
| contains / not contains | contains (or does not contain) what you typed |
| starts with / ends with | starts (or ends) with what you typed |

Type the value into the box — the placeholder is *utm_source value* — for example `newsletter` for links tagged `?utm_source=newsletter`. Saving with an empty box is refused: *Enter a custom source value.*

**Excluding a source** is done here: pick **Custom…**, choose **not equals** (or **not contains**), and type the value you want to keep out. For example, *not equals* `facebook` shows the campaign to everyone except visitors tagged with that source.

---

## Things to keep in mind

- The Source rule holds **one** condition. To combine audiences — for example "Google Ads visitors on the pricing page" — add another rule; targeting rules are combined with **AND**.
- Each rule type can be added once, so a second Source rule is not offered: the row is greyed out with an **Added** tag. Open the existing card to change it.
- The rule card sums the setting up as **Traffic from Google Ads**, **Traffic from Direct traffic**, and so on — with a custom source it shows the value you typed.
