Skip to main content
The Get Report node lets you fetch Meta 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
  • Monitor Facebook and Instagram advertising performance

Inputs

FieldTypeRequiredDescription
AccountsDynamic multi-selectYesSelect one or more Meta 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 Sale”
NOT_EQUALSDoes not match exactlyCampaign status not equals “PAUSED”
CONTAINSContains substringCampaign name contains “2024”
NOT_CONTAINSDoes not contain substringCampaign name doesn’t contain “test”
IN_LISTMatches any value in listPlacement in [“Facebook_Feed”, “Instagram_Feed”]
NOT_IN_LISTDoesn’t match any value in listDevice not in [“Desktop”]
REGEXP_MATCHMatches regular expressionCampaign name matches ”.(sale|promo).
NOT_REGEXP_MATCHDoesn’t match regexCampaign name doesn’t match “test.*“
GREATER_THANNumeric greater thanSpend > 100
LESS_THANNumeric less thanCPC < 2.00
IS_NULLField has no valuePurchase value is null
IS_NOT_NULLField has a valuePurchase value is not null

Filter Examples

Example 1: High-spending active campaigns
- Spend > 50 (GREATER_THAN)
- Campaign status = "ACTIVE" (EQUALS)
- Impressions > 1000 (GREATER_THAN)
Example 2: Promotional campaigns using regex (OR logic)
- Campaign name matches ".*(sale|promo|discount).*" (REGEXP_MATCH)
Example 3: Exclude test campaigns
- Campaign name does not contain "test" (NOT_CONTAINS)
- Campaign name does not contain "draft" (NOT_CONTAINS)

OR Logic with Filters

Since multiple filters use AND logic, use these approaches for OR conditions:
  1. IN_LIST operator: Placement IN ["Facebook_Feed", "Instagram_Feed", "Instagram_Stories"]
  2. REGEXP_MATCH operator: Campaign name REGEXP_MATCH ".*(sale|promo|discount).*"
  3. Run separate queries: Create different workflows for different conditions

Options Reference

These optional settings let you format the output from Meta 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 Meta 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, Spend, Purchases
  • Dimensions: Campaign Name, Date
  • Filters: Spend > 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.
Multiple filters always use AND logic (all conditions must be true). For OR logic, use:Option 1: IN_LIST operator
Placement IN ["Facebook_Feed", "Instagram_Feed", "Instagram_Stories"]
Option 2: REGEXP_MATCH operator
Campaign name REGEXP_MATCH ".*(sale|promo|discount).*"
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 "sale" finds any campaign with “sale” anywhere in the name
  • REGEXP_MATCH: Advanced pattern matching. Campaign name REGEXP_MATCH "^sale.*" finds campaigns that START with “sale”
Use CONTAINS for simple text searches, REGEXP_MATCH for complex patterns or OR conditions.
Common filter issues:
  • Case sensitivity: “Sale” ≠ “sale”. Use CONTAINS or regex for flexible matching
  • 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
Conversion data discrepancies often occur due to:
  • Attribution windows: Different attribution models may show different results
  • SKAdNetwork conversions: iOS 14+ conversions require “Use Attribution Setting” configuration
  • Conversion tracking setup: Ensure proper Facebook Pixel or Conversions API setup
  • Attribution settings: Fixed attribution windows vs. ad set attribution settings can cause differences
Data discrepancies can occur due to:
  • Reporting delays: Meta Ads data can take up to 24-48 hours to finalize for recent dates
  • Attribution windows: Different attribution models may show different results
  • Time zones: Ensure your date range matches the account’s time zone
  • Breakdowns: When using breakdowns, some metrics are estimated and may not perfectly match
  • Filters: Check if you have different filters applied in the UI vs API
Offsite conversions (Purchases, Add to Cart, etc.) are only available with these breakdowns:
  • Age, Gender, Age & Gender
  • Country, Impression device
  • Platform, Platform & device
  • Placement, Audience
If you need conversion data, ensure you’re using compatible breakdowns or connect without breakdowns.
Facebook’s API won’t return conversion values when there’s aggregation across multiple attribution settings. This shows as “multiple” in the Attribution setting field. Try connecting the data source at the Ad Set level instead of Campaign level.
Facebook by default returns only campaigns that have had activity during the selected date range, so you don’t need to filter out inactive 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
  • Attribution requirements: Some metrics require specific attribution settings
Zero values can indicate:
  • No activity: The campaigns genuinely had no performance for those metrics
  • Conversion tracking: Conversion metrics require proper Facebook Pixel setup
  • Dimension compatibility: Some dimensions don’t work with certain metrics
  • Attribution: Different attribution models may show different values
  • Estimated metrics: When using breakdowns, some metrics are estimated by Facebook
Custom conversions in the API (and therefore in Markifact) match the Ads Manager, not the Events Manager. These are different data sources:
  • Ads Manager: Shows conversion data from the Ads Insights API
  • Events Manager: Shows raw conversion events
I