List Campaigns

Last updated: June 5, 2026

The List Campaigns node pulls the active Search campaigns from a connected Google Ads customer account.

It's designed as an upstream lookup step: its job is to provide a campaign list that subsequent Google Ads nodes use to filter, label, and scope their data pulls before you run performance analysis.


When to use this node

Use the List Campaigns node for tasks such as:

  • Scoping downstream nodes to specific campaigns: get campaign IDs and names first, then pass them into 📄 Search Terms, 📄 Keywords, 📄 Landing Pages, or 📄 Ads as a filter rather than pulling data across all campaigns at once

  • Labeling campaign-level performance data: enrich downstream node outputs with campaign names so LLM-generated summaries are human-readable

  • Building campaign-aware agents at scale: especially useful for Manager accounts (MCC) with many campaigns, where structured campaign discovery is needed before diving into metrics


Node configuration

Google Integration (required)

Select a previously connected Google account, or click + Add integration and follow the prompts to connect one. This is a one-time setup. Once you add an integration, it's available in all future sessions until you remove it in Account Settings > Integrations.

Google Ads Account (required)

Select the Google Ads customer account from the dropdown. The picker handles both Manager accounts and sub-account selection.

Output label

Enter a descriptive label for this step's output, for example campaigns or active_campaigns. The label becomes the variable name you reference in later nodes.


Output

The node outputs your campaigns data in JSON format, including campaign names, dates, and statuses.

Pass the output to:

  • 📄 Search Terms: Filter by campaign ID to get actual user queries for that campaign, with CTR, CPC, CVR, CPA, and ROAS

  • 📄 Keywords: Scope the keyword quality score and efficiency audit to specific campaigns

  • 📄 Ads:​ Pull only the RSA creative assets (headlines and descriptions) for a specific campaign

  • 📄 Prompt LLM: Feed the campaign list for summarization, naming convention audits, or campaign structure analysis

  • Code node or Conditional node to filter, sort, or slice campaigns data, or branch workflow logic based on factors such as status or presence of a campaign


Example usage: Weekly negative keyword discovery

Set up an Agent to scan last week's search terms across all campaigns, identify wasted spend, and post actionable negative keyword recommendations to Slack. Here is the example structure:

1. List Campaigns node

  • Select your Google Integration and set Google Ads Account to your Google Ads account

  • Set Output label to campaigns

2. 📄 Search Terms node

  • Repeat the Google Integration and Ads Account from the previous step

  • Set Date Range to Last 7 days

  • Set Campaigns, Ad Groups, and Output Fields filters as needed

  • Set Output label to search_term_data

The data from both List Campaigns and Search Terms nodes can be too large to send directly to the Prompt LLM node. Use Agent Assistant to build the data preprocessing steps, such as the Code node for trimming search term data, into your Agent.

3. 📄 Prompt LLM node

  • Enter the prompt:

    You are a paid search analyst. Review last week's Google Ads search term
    data: {{search_term_data}}.
    
    Campaigns context: {{campaigns}}.
    
    Flag terms as negative keyword candidates if they have:
    - Zero conversions and cost over $100
    - CVR below 1% and cost over $50
    - Informational or off-target intent (e.g. "free", "what is", "certification")
    - Competitor branded terms we are not intentionally targeting
    
    For each flagged term: name, campaign, cost, conversions, reason to negate,
    recommended match type (Exact or Phrase).
    
    End with: total wasted spend, top 3 negatives to add today.
    
    Format as a scannable Slack message with bullet points.
  • Set Output label to negative_keyword_report

Check out our prompt best practices guide for the Prompt LLM node.

4. 📄 Slack integration - Slack Message node

  • Select the Slack workspace and channel to receive updates

  • Input the message text, or use the negative_keyword_report variable in the Message field

Schedule the Agent to run weekly, for example every Monday at 9 AM.


Best practices

Use to support other Google Ads nodes

List Campaigns is a lookup step. Its full value comes through when its output flows into 📄 Search Terms, 📄 Keywords, 📄 Landing Pages or 📄 Ads as a scoping filter.

Use Iterations for multi-campaign Agents

To run downstream nodes for each campaign individually, wrap them in an ​Iteration block that loops over each campaign ID returned by List Campaigns.

Test with a single campaign first

On accounts with many campaigns, scope to one campaign ID in your test run to validate the pipeline before scaling.