Choose the campaigns of an ad account

One ad account often runs campaigns for more than one website. Example: the Meta ad account „Nordlicht Werbekonto“ runs campaigns for the company site nordlicht-software.de and for the company's book (werkstattbuch.de). Both projects are linked to the same ad account. Without a selection, each project counts every campaign of the account – the book project would show the company's spend, and the company's cost per lead would include the book campaigns.

Per link ad account ↔ project you choose which campaigns count for the project. This works the same for Google Ads, Meta, LinkedIn, TikTok and for campaigns you named by hand (account id x3_manual).

Modes

ModeMeaning
all – Alle KampagnenEvery campaign of the ad account counts (default, the behaviour of an account without a selection).
only – Nur ausgewählteOnly the selected campaigns count. Everything else of the account is ignored in this project.
except – Alle außer ausgewähltenEvery campaign counts except the selected ones.

A campaign is selected when

  • its id is in the explicit list (campaignIds, ticked in the campaign table), or
  • its name matches one of the name rules (rules): contains, prefix (starts with) or regex (regular expression). Rules always ignore upper and lower case.

Name rules make new campaigns land in the right project automatically. For the example above:

  • project werkstattbuch.de: mode only, rule regex werkstatt ?buch – every campaign called „Werkstattbuch Sales …“ or „Werkstatt Buch Retargeting …“ counts, also the ones you create next month;
  • project nordlicht-software.de: mode except with the same rule – everything but the book campaigns counts.

Switching to all keeps the list and the rules, so switching back restores them.

Preview

Before you save, the preview shows every campaign of the account with its delivery status, spend of the last 30 days, first and last day with spend and the landing host of its ads (nordlicht-software.de, werkstattbuch.de …), whether it is ticked or hit by a rule, whether it counts now and after the change – plus the 30-day spend that comes in or goes out of the project.

What changes

The selection applies everywhere costs or campaigns of the project appear: spend, CPC, cost per visit, CPL, ROAS, the monthly budget and its forecast, Quellen & Kampagnen, campaign reports and time series, alerts and recommendations, the portfolio, the weekly report, the MCP tools (ads_performance, ads_timeseries, sql_query …) and the X3 App (same API).

It applies retroactively to the whole history right away. Nothing is deleted: the spend days of excluded campaigns are kept aside (ad_metrics_daily_excluded) and come back as soon as you include the campaign again. New spend from the next sync follows the saved selection.

Visits of excluded campaigns

A paid visit whose click id (gclid …) or UTM ids (utm_id, utm_campaign, utm_term, utm_content) belong to a campaign that is excluded for this project is not counted as paid cost of this project:

  • it gets no campaign match (and no platform-only match), so it adds no visits, leads or value to any campaign or platform row of the cost reports;
  • it is not listed under unknown campaigns and does not count as an unmatched paid visit – X3 knows the campaign, it just belongs to another project;
  • the visit itself stays in the traffic numbers with its channel (for example Paid Social), because it really came from an ad.

Including the campaign again restores the match right away. Visits with only platform evidence (a fbclid without campaign ids) are not affected.

Where to set it

  • Einstellungen › Werbekonten & Budget → Kampagnen auswählen on each connected ad account (table with search, filters, sort and columns; name rules; preview; save).
  • The connect wizard offers the optional step Welche Kampagnen gehören zu diesem Projekt? after you picked the ad accounts.

Use an ad account in several projects

An ad account you connected in one project can count in other projects of the same organization without a new sign-in. In the other project, open Einstellungen › Werbekonten & Budget: the login appears as bereits verbunden im Projekt … with Bestehende Verbindung verwenden. Choose the ad accounts, then choose the campaigns that belong to this project. You need write access to ad accounts in both projects. Reconnecting or removing the login stays with the project where it was connected; removing it there also removes the account from the other projects.

API and MCP

EndpointScopePurpose
GET /v1/projects/{project}/ads/campaign-scopesads:readSelection of every linked ad account (mode, ids, rules, campaigns excluded right now)
GET /v1/projects/{project}/ad-accounts/{platform}/{accountId}/campaign-scopeads:readOne account with every campaign and whether it counts
POST /v1/projects/{project}/ad-accounts/{platform}/{accountId}/campaign-scope/previewads:readPreview a selection without saving
PUT /v1/projects/{project}/ad-accounts/{platform}/{accountId}/campaign-scopeads:writeSave the selection (applies to all history right away)

Body of preview and save:

{
  "mode": "only",
  "campaignIds": ["120250973622130052"],
  "rules": [{ "op": "regex", "value": "werkstatt ?buch" }]
}

MCP: ads_campaign_scope_list, ads_campaign_scope_get, ads_campaign_scope_set (dry_run: true returns the preview without saving). X3 never changes anything in the ad platform – the selection only decides what this project counts.