← All connectors

Marketing · Source connector

X Ads ELT Connector

Extract brings X Ads marketing data into data warehouses and databases for analysis with the rest of your business data. Teams use it to analyze campaign, creative, placement, spend, and revenue performance at a granular level. Flexible scheduling keeps reporting current for routine analysis and time-sensitive decisions.

View setup guide
X Ads logo

What teams use this connector for

Granular campaign optimization

Analyze X Ads campaign, creative, placement, geo, device, spend, and revenue detail to find opportunities to improve performance.

Direct-network reporting

Compare granular X Ads data with standard MMP and cost-aggregation reporting to work with dimensions those tools do not make available.

Spend and revenue reconciliation

Reconcile X Ads spend and revenue with finance, attribution, and internal performance data to investigate discrepancies.

Flexible performance monitoring

Refresh X Ads pacing, anomaly, and performance views every 15 minutes, hourly, daily, or on a custom schedule.

Warehouse and database analysis

Use Extract to make X Ads marketing data available in data warehouses and databases such as Snowflake, BigQuery, Redshift, and PostgreSQL for governed analysis.

Audience and campaign activation

Combine X Ads performance data with approved customer models, then use Extract Reverse ETL to activate audience or campaign updates downstream.

Available streams

StreamDescriptionSync mode
line_item_gender_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_interests_reportFields include account_id, date, id, placement.Incremental
line_item_interests_reportFields include account_id, date, id, placement.Incremental
line_item_keywords_reportFields include account_id, date, id, placement.Incremental
accountsFields include id, approval_status, business_id, business_name.Full refresh
campaign_languages_reportFields include account_id, date, id, placement.Incremental
funding_instrument_audiences_reportFields include account_id, date, id, placement.Incremental
campaign_audiences_reportFields include account_id, date, id, placement.Incremental
campaign_gender_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_locations_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_platforms_reportFields include account_id, date, id, placement.Incremental
cardsFields include id, account_id, card_type, card_uri.Full refresh
line_item_locations_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_app_store_category_reportFields include account_id, date, id, placement.Incremental
line_itemsFields include account_id, id, advertiser_domain, advertiser_user_id.Full refresh
line_item_platforms_reportFields include account_id, date, id, placement.Incremental
media_libraryFields include media_key, created_at, deleted, file_name.Full refresh
promoted_tweet_keywords_reportFields include account_id, date, id, placement.Incremental
funding_instrument_app_store_category_reportFields include account_id, date, id, placement.Incremental
campaign_app_store_category_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_audiences_reportFields include account_id, date, id, placement.Incremental
funding_instrument_gender_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_age_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_languages_reportFields include account_id, date, id, placement.Incremental
campaign_keywords_reportFields include account_id, date, id, placement.Incremental
promoted_tweet_gender_reportFields include account_id, date, id, placement.Incremental
media_creativesFields include id, account_media_id, approval_status, created_at.Full refresh
line_item_audiences_reportFields include account_id, date, id, placement.Incremental
line_item_languages_reportFields include account_id, date, id, placement.Incremental
funding_instrument_interests_reportFields include account_id, date, id, placement.Incremental
campaign_interests_reportFields include account_id, date, id, placement.Incremental
funding_instrumentsFields include id, able_to_fund, account_id, created_at.Full refresh
campaignsFields include id, account_id, budget_optimization, created_at.Full refresh
line_item_age_reportFields include account_id, date, id, placement.Incremental
scheduled_tweetsFields include tweet_id, card_uri, completed_at, created_at.Full refresh
tweetsFields include tweet_id, contributors, conversation_settings, coordinates.Full refresh
campaign_age_reportFields include account_id, date, id, placement.Incremental
line_item_app_store_category_reportFields include account_id, date, id, placement.Incremental
funding_instrument_age_reportFields include account_id, date, id, placement.Incremental
promoted_tweetsFields include id, approval_status, created_at, deleted.Full refresh
campaign_platforms_reportFields include account_id, date, id, placement.Incremental
account_mediaFields include id, created_at, creative_type, deleted.Full refresh
funding_instrument_platforms_reportFields include account_id, date, id, placement.Incremental
campaign_locations_reportFields include account_id, date, id, placement.Incremental
funding_instrument_locations_reportFields include account_id, date, id, placement.Incremental

Data model at a glance

Preview the exported entities and fields for X Ads.

Open full ERD

line_item_gender_report

  • account_idstring
  • datestring
  • idstring
  • placementstring
  • segmentation_typestring
  • app_clicksinteger
  • billed_charge_local_microinteger
  • billed_engagementsinteger

promoted_tweet_interests_report

  • account_idstring
  • datestring
  • idstring
  • placementstring
  • segmentation_typestring
  • app_clicksinteger
  • billed_charge_local_microinteger
  • billed_engagementsinteger

line_item_interests_report

  • account_idstring
  • datestring
  • idstring
  • placementstring
  • segmentation_typestring
  • app_clicksinteger
  • billed_charge_local_microinteger
  • billed_engagementsinteger

line_item_keywords_report

  • account_idstring
  • datestring
  • idstring
  • placementstring
  • segmentation_typestring
  • app_clicksinteger
  • billed_charge_local_microinteger
  • billed_engagementsinteger

accounts

  • idstring
  • approval_statusstring
  • business_idstring
  • business_namestring
  • created_atstring
  • deletedboolean
  • industry_typestring
  • namestring

campaign_languages_report

  • account_idstring
  • datestring
  • idstring
  • placementstring
  • segmentation_typestring
  • app_clicksinteger
  • billed_charge_local_microinteger
  • billed_engagementsinteger
+2 more

No verified relationships are available in this schema preview.

Popular destinations

Commonly paired with X Ads in Extract workflows.

Why Extract for X Ads

  • Rust-native performanceUse Rust-native data movement to refresh X Ads reporting every 15 minutes, hourly, daily, or on a custom schedule as volume grows.
  • Full run transparencyInspect X Ads API activity, execution steps, and timing in Extract's run-level logs when data needs review.
  • ELT + Reverse ETL in oneCombine X Ads data with customer and finance models, then send approved outputs through a separately configured Reverse ETL destination.

Frequently asked questions

How does Extract handle incremental and full X Ads syncs?

An incremental sync processes only new or changed data since a stored checkpoint or new date partition, while a full sync processes the complete selected dataset or date range again. By avoiding repeated processing and writes for the full dataset, incremental syncs can reduce destination database updates and warehouse compute costs. Stream schemas define full refresh, partition-based extraction. Behavior varies by stream and configuration. Extract records run details so teams can verify each sync.

Can I backfill historical X Ads data with Extract?

Historical coverage for X Ads: Backfill (Days) (backfill): The backfill setting revisits and updates data from the past X days, ensuring the most current and accurate information replaces any previously pulled data. Use the setup guide and run details to confirm the available source records and selected settings.

How can teams monitor X Ads data quality and freshness?

Compare expected reporting periods and record totals in your models, then use Extract's run-level logs to inspect X Ads API activity, execution steps, and timing. This helps teams distinguish a source-data delay from a failed or incomplete run.

How often can Extract sync data from X Ads?

Extract supports schedules every 15 minutes, hourly, daily, or on a custom cadence. Teams can choose a frequency that matches routine reporting, time-sensitive monitoring, or operational activation needs.

What does the X Ads data model look like in the destination?

The Available streams table describes the datasets Extract can read from X Ads. The inline schema previews entities and fields. Only relationships verified from the exported schema are shown. Use the full schema link for more details.