Tools

ads

Ads: campaigns, spend and cost per lead on every ad platform

MCP tool

Paid media on google, meta, linkedin, tiktok, reddit, pinterest: one tool for all of them. platforms=[…] narrows to any subset; leave it out for all. Numbers come from the last sync; CRM contacts and MQLs are the ones Tracee attributed to each campaign.

Actions

accounts

Which ad platforms are connected, their accounts, how far the synced data reaches and the last sync.

RESTGET/ads/accounts·CLItracee ads accounts

campaigns

campaigns [platforms] [days|from+to] [query] [status=Active|Paused] [sort=spend|crm_contacts|crm_mqls|cost_per_mql|cost_per_contact|clicks] [compare=true] [include_idle] [limit]

Every campaign with spend, impressions, clicks, CTR, CPC, the leads the platform reports, CRM contacts and MQLs, and cost per contact and per MQL; totals per platform; compare=true adds the previous period of the same length and the % change.

RESTGET/ads/campaigns·CLItracee ads campaigns

daily

daily campaign_id | [platforms] [days|from+to]

The same numbers day by day.

RESTGET/ads/daily·CLItracee ads daily

sync

sync [platforms] [days] [connection_id]

Pull fresh numbers from the platforms now (about a minute per account), then read them with action=campaigns.

RESTPOST/ads/sync·CLItracee ads sync

conversions

conversions [platforms]

The conversion actions each platform has defined, live.

RESTGET/ads/conversions·CLItracee ads conversions

google_query

google_query query [customer_id]

Read-only Google Ads Query Language (SELECT … FROM … [WHERE …]) on the connected Google Ads accounts, for anything else Google reports: ad groups, keywords, search terms, assets, devices, locations. At most 200 rows per account.

RESTPOST/ads/google/query·CLItracee ads google-query

Changing campaigns (pause, budgets, new campaigns) isn't done here: use apps action=search for the platform's actions; every change goes to a person for approval.

Related: analytics action=tracking_health (platforms vs CRM), research action=ads_library (what competitors run).

Inputs

Every call takes action and the fields that action names above.

  • actionstringrequired

    What to do: accounts, campaigns, daily, sync, conversions or google_query. Each is described in the tool description.

    Available options:accountscampaignsdailysyncconversionsgoogle_query

  • platformsstring[]

    For accounts, campaigns, daily, sync and conversions: the platforms.

    up to 6 items

    Available options:googlemetalinkedintiktokredditpinterest

  • daysinteger

    Window ending today; 30 by default

    1–731

  • fromstring

    Start date, YYYY-MM-DD (with to, instead of days)

    pattern ^\d{4}-\d{2}-\d{2}$

  • tostring

    End date, YYYY-MM-DD

    pattern ^\d{4}-\d{2}-\d{2}$

  • campaign_idstring

    daily: one campaign, from action=campaigns

    uuid

  • campaign_idsstring[]

    campaigns: only these. From ads action=campaigns.

    up to 100 itemseach uuid

  • querystring

    campaigns: part of the campaign's name. google_query: the GAQL statement

    up to 4,000 characters

  • statusstring

    For campaigns: the status.

    Available options:ActivePaused

  • sortstring

    For campaigns: the sort.

    Available options:spendcrm_contactscrm_mqlscost_per_mqlcost_per_contactclicks

  • compareboolean

    campaigns: add the previous period

  • include_idleboolean

    campaigns: also those with no spend or leads

  • limitinteger

    For campaigns: the limit.

    1–200

  • connection_idstring

    sync: one account, from action=accounts

    uuid

  • customer_idstring

    google_query: one Google Ads account id. From ads action=accounts.

    up to 20 characters