# Can I match any campaign whose name contains "sale" without listing them all?

Asked by Hannah Britton on 2026-11-02. Tags: cql, audiences, campaign.

We spin up a lot of campaigns and the names all include a keyword, for example
everything with "sale" in it. I do not want to reopen an audience and add a new
value every time a campaign launches.

Can CQL match on a pattern in the campaign name instead of exact values, so I
can optimise the workflow and stop babysitting the list?

## 1 answer

### Accepted answer from lena_b (2026-11-03)

Use `matches` instead of `is`:

```cql
campaign's name matches "sale"
```

That catches "summer-sale", "flash-sale-2026", anything containing the
substring, so new campaigns are covered the moment they launch as long as they
follow the naming pattern. `is` requires the whole value to be equal, which is
why the exact list kept needing updates. The
[matches vs is](/answers/cql-matches-vs-is-operator) thread has the rule of
thumb for when to use each.
