Skip to main content
The Get Report node lets you fetch Google Ads performance data across one or more accounts using specified metrics, dimensions, and filters. This is an AI-powered node that can understand natural language instructions.

When to Use It

Use this node to:
  • Generate automated performance reports and dashboards
  • Track campaign metrics and KPIs over time
  • Create data-driven insights for optimization decisions
  • Export data for further analysis in external tools

Inputs

FieldTypeRequiredDescription
AccountsDynamic multi-selectYesSelect one or more Google Ads accounts to query
Date RangeDate range pickerYesSelect date range for the report
MetricsMulti-selectYesSelect metrics to include in the report
DimensionsMulti-selectNoSelect dimensions to segment your data
FiltersRule-based filtersNoAdd filters to refine your data
Order BySort configurationNoSet the order of results
LimitNumberNoMaximum number of rows to return
OptionsReport optionsNoAdditional options for the report

Filters

Filters allow you to refine your data by applying conditions to specific dimensions or metrics. Multiple filters use AND logic - all conditions must be met for a row to be included in the results.

Available Filter Operators

OperatorDescriptionExample Use Case
EQUALSExact matchCampaign name equals “Black Friday”
NOT_EQUALSDoes not match exactlyStatus not equals “PAUSED”
CONTAINSContains substringCampaign name contains “2024”
NOT_CONTAINSDoes not contain substringCampaign name doesn’t contain “test”
IN_LISTMatches any value in listCampaign type in [“Search”, “Display”]
NOT_IN_LISTDoesn’t match any value in listDevice not in [“TABLET”]
REGEXP_MATCHMatches regular expressionCampaign name matches ”.(summer|winter).
NOT_REGEXP_MATCHDoesn’t match regexCampaign name doesn’t match “test.*“
GREATER_THANNumeric greater thanImpressions > 1000
LESS_THANNumeric less thanCost < 500
IS_NULLField has no valueConversion value is null
IS_NOT_NULLField has a valueConversion value is not null

Filter Examples

Example 1: Active campaigns with decent performance
- Impressions > 100 (GREATER_THAN)
- Campaign status = "ENABLED" (EQUALS)
- Cost > 0 (GREATER_THAN)
Example 2: Seasonal campaigns using regex (OR logic)
- Campaign name matches ".*(summer|winter|holiday).*" (REGEXP_MATCH)
Example 3: Exclude test campaigns
- Campaign name does not contain "test" (NOT_CONTAINS)
- Campaign name does not contain "demo" (NOT_CONTAINS)
Example 4: High-performing search campaigns
- Campaign type = "SEARCH" (EQUALS)
- CTR > 2.0 (GREATER_THAN)
- Conversions > 0 (GREATER_THAN)

OR Logic with Filters

Since multiple filters use AND logic, use these approaches for OR conditions:
  1. IN_LIST operator: Campaign type IN ["Search", "Display", "Shopping"]
  2. REGEXP_MATCH operator: Campaign name REGEXP_MATCH ".*(summer|winter|spring).*"
  3. Run separate queries: Create different workflows for different conditions

Options Reference

These optional settings let you format the output from Google Ads before passing it to other nodes.
OptionDescription
Pretty Column NamesConverts column headers to Title Case (e.g. campaignName becomes Campaign Name)
Add Percent Sign to RatiosAppends % to ratio metrics like CTR or Engagement Rate
Display Currency SymbolAdds $ or local currency symbol to monetary metrics
Compact NumbersConverts large numbers to short format (e.g. 10K instead of 10,000)
Pivot Dimensions as ColumnsTransforms dimension values into separate columns for easier comparison

Output

The node returns a structured dataset with performance metrics and dimensions. The exact format depends on your configuration and the data returned from Google Ads. Typical Output Structure:
  • Data Rows: Performance metrics and dimensions
  • Metadata: Account information, date ranges, and query details
  • Summary Statistics: Total records, data freshness, execution time
Can be passed to:
  • AI nodes like Analyze Data or Structured Output
  • Export nodes (e.g., Google Sheets)
  • Email or Slides nodes

Credit Cost

  • Cost per run: 1 credit per account

Example Setup

Scheduler (Daily 8 AM) →
Get Report →
AI Analysis →
Google Slides Report →
Slack Notification
Configuration Example:
  • Date Range: Last 7 days
  • Metrics: Impressions, Clicks, Cost, Conversions
  • Dimensions: Campaign Name, Date
  • Filters: Impressions > 0 (only active campaigns)
  • Limit: 1000 rows

FAQs

The data will be aggregated across all selected accounts into a single dataset.
If you’d like to break it out by account, add the account_name or account_id dimension to segment results per account.
Conversion data might lag behind the UI due to the conversion window.
For example, with a 30-day window, conversions can change long after the click date.
Compare data only after the window closes to ensure accuracy.
Data discrepancies can occur due to:
  • Reporting delays: Google Ads data can take up to 24-48 hours to finalize
  • Attribution windows: Different attribution models may show different results
  • Time zones: Ensure your date range matches the account’s time zone
  • Filters: Check if you have different filters applied in the UI vs API
To exclude inactive campaigns, use filters like:
  • `cost
  • impressions > 0 This ensures you only get data for active campaigns.
Common causes of empty results:
  • Date range: The selected period may have no activity
  • Filters: Your filters may be too restrictive
  • Account status: Campaigns may be paused or inactive
  • Metrics compatibility: Some metric/dimension combinations aren’t supported
Zero values can indicate:
  • No activity: The campaigns genuinely had no performance for those metrics
  • Conversion tracking: Conversion metrics require proper tracking setup
  • Dimension compatibility: Some dimensions don’t work with certain metrics
  • Attribution: Different attribution models may show different values
Multiple filters always use AND logic (all conditions must be true). For OR logic, use:Option 1: IN_LIST operator
Campaign type IN ["Search", "Display", "Shopping"]
Option 2: REGEXP_MATCH operator
Campaign name REGEXP_MATCH ".*(summer|winter|holiday).*"
Option 3: Run separate workflows Create different Get Report nodes for different conditions, then combine the data downstream.
  • CONTAINS: Simple substring search. Campaign name CONTAINS "2024" finds any campaign with “2024” anywhere in the name
  • REGEXP_MATCH: Advanced pattern matching. Campaign name REGEXP_MATCH "^2024.*" finds campaigns that START with “2024”
Use CONTAINS for simple text searches, REGEXP_MATCH for complex patterns or OR conditions.
Common filter issues:
  • Case sensitivity: “Summer” ≠ “summer”. Use regex with case-insensitive flag or CONTAINS
  • Data type mismatch: Don’t use text operators on numeric fields
  • Field availability: Not all dimensions/metrics support all filter operators
  • Syntax errors: Check regex patterns for proper escaping
This error happens when you use the wrong format for certain filter values. Some fields require specific text formats in ALL CAPS.Common examples:
  • Campaign status: Use "ENABLED" not "Enabled" or "enabled"
  • Campaign type: Use "SEARCH" not "Search" or "search"
  • Device: Use "MOBILE" not "Mobile" or "mobile"
How to find the correct format:
  1. Add the field (like campaign_status) to your Dimensions
  2. Run the report without any filters
  3. Look at the results to see exactly how Google shows these values
  4. Copy those exact values into your filters
Example:
✅ Correct: Campaign status = "ENABLED"
❌ Wrong: Campaign status = "Enabled"
❌ Wrong: Campaign status = "enabled"
I