Skip to main content Skip to complementary content
Already have an account? Sign in

Twitter Ads (X) (v1)

Last updated: 9/15/2026

Twitter Ads integration summary

Stitch’s Twitter Ads integration:

  • Replicates core object data using the Twitter Ads API v.10. Refer to the Schema section for a list of objects available for replication.
  • Supports configuring custom reports using Twitter’s Analytics API

Twitter Ads feature snapshot

A high-level look at Stitch's Twitter Ads (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status Supported by

Stitch

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-twitter-ads

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Twitter Ads

Twitter Ads setup requirements

To set up Twitter Ads in Stitch, you need:

  • To have access to the Twitter Ads accounts you want to replicate data from.

Step 1: Retrieve account ID

  1. Login to your Twitter Ads account.
  2. Select the ads account that you’d like to use.
  3. Click your account icon upper right corner of the screen.
  4. Click Settings in the dropdown menu.
  5. Copy your account ID and keep it readily available for the next step.

Note: If you would like to add multiple ads accounts for this integration, repeat the above steps for each account.

Step 2: Add Twitter Ads as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Twitter Ads icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Twitter Ads” would create a schema called stitch_twitter_ads in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Account IDs field, paste the account ID you copied from Step 1. If you’re adding multiple accounts IDs, format them as a comma-delimited list. For example: accountId1, accountId2
  6. Optional: In the Attribution Window field, enter the number of days you want to use as a lookback period for conversion reporting to stabilize. Custom report tables use this value during Extraction.
  7. Optional: Check the with deleted box if you want to include deleted records in the extraction Stitch performs.
  8. In the Country Codes field, enter a comma-separated list of the ISO alpha-2 country codes for each country you want to include in segmentation and targeting.

    For example: A list of US, DE, IE corresponds to United States, Germany, Ireland.

    Note: This field is required to use some segment types in custom reports.

Step 3: Configure reports

Stitch’s Twitter Ads integration supports the configuration of custom reports. For each report configured in the Your Reports section, a table will display in the Tables to Replicate tab as available for selection.

Refer to the Table reference for an example of a custom report table.

Create a new report

To add a report, click the + Configure new report link. For each report you configure, you’ll define the following parameters:

  • Report Name: A name for the report, which is used to create the name of its corresponding destination table
  • Entity: The Twitter Ads entity (object) to report on. The entity you select determines the metrics (columns) available for selection and the segments you can apply to those metrics. Refer to the Custom report options compatibility reference for more info.
  • Segment: A segment to apply to the entity’s available metrics. Note: Some entity and segment combinations may be incompatible. Refer to the Segment compatibility reference for more info.
  • Granularity: The granularity of the report data. Possible options are DAY, HOUR, and TOTAL.

Remove a report

To remove a report, click the - Remove this report link.

Note: Removing a report will not remove the corresponding table or its data from your destination.

Step 4: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your Twitter Ads integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Twitter Ads’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 5: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Twitter Ads integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 6: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For Twitter Ads integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab
    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up Twitter Ads, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.

Twitter Ads replication

In this section:

Extraction

This section provides a high-level look at extraction, but you can check out the sync review on Google Docs for a more technical look at this process.

For every table set to replicate, Stitch will perform the following during Extraction:

Discovery

During Discovery, Stitch will:

Determining table availability

At the start of each replication job, Stitch performs a structure sync. During this phase, Stitch detects the objects available for replication.

There are two types of tables for Twitter Ads:

  • Core object tables: These are tables that aren’t created using the Custom reports feature in the integration’s settings page. Table availability depends on the Twitter Ads Singer tap, which powers Stitch’s integration. The tap contains a JSON schema for each available table.

    The Table reference section of this guide lists the tables currently available for replication, as well as info about how they replicate.

  • Custom report tables: These are tables that are created using the Custom reports feature in the integration’s settings page. Table availability depends on configuration of the report in the integration’s settings page. Note: Custom report tables must also be set to replicate in the Tables to Replicate tab - Stitch won’t automatically replicate them.

    Refer to the Table reference for an example of a custom report table.

Determining column availability

Column availability is dependent upon the type of table:

  • Core Object tables: Column availability is determined by the JSON schema backing the table in the Singer tap.
  • Custom report tables: Column availability is determined by the Entity selected during report configuration. Each entity in Twitter Ads is compatible with one or more metric groups. Each metric in a metric group corresponds to a column available for replication.

    For example: If the entity is compatible with the BILLING metric group, you’d see billed_engagements and billed_charge_local_micro columns available for replication.

    Refer to the Entity and metric group compatibility reference for more info.

Data replication

After discovery is completed, Stitch will move onto extracting data for the tables and columns you set to replicate.

How Stitch extracts data depends on the type of table being replicated:

  • Core object tables: For these tables, extraction depends on the type of Replication Method the table uses. Refer to the Table reference for the Replication Method each table uses.

  • Custom report tables: Custom report tables replicate using Key-based Incremental Replication and the Attribution Window you define during setup. Attribution Windows are used in conjunction with Replication Keys to determine where Stitch should begin extraction for a table during each extraction job.

Loading

How data replicated from an Twitter Ads integration is loaded into your destination depends on two factors:

  1. The type of table being loaded:
  2. If your destination supports upserts, or updating existing rows. For destinations that support upserts, Stitch uses Primary Keys to de-dupe data during loading. Primary Keys are used to identify unique rows within a table and ensure that only the most recently updated version of that record appears in your destination.

Note: For Append-Only destinations, data will be loaded in an Append-Only manner, regardless of the table type.

Twitter Ads table reference

account_media

The account_media table contains info about the account media associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

account_media schema on GitHub

Twitter Ads API method

accounts

The accounts table contains info about the advertising-enabled accounts the user authenticating the integration has access to.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

accounts schema on GitHub

Twitter Ads API method

advertiser_business_categories

The advertiser_business_categories table contains info about the advertiser business categories associated with an advertiser’s ad groups.

Replication Method

Full Table

Primary Key

id

Useful links

advertiser_business_categories schema on GitHub

Twitter Ads API method

campaigns

The campaigns table contains info about the campaigns associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

campaigns schema on GitHub

Twitter Ads API method

cards

The cards table contains info about cards associated with your account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

cards schema on GitHub

Twitter Ads documentation

cards_image_conversation

The cards_image_conversation table contains info about image conversation cards associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

cards_image_conversation schema on GitHub

Twitter Ads API method

cards_poll

The cards_poll table contains info about poll cards associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

cards_poll schema on GitHub

Twitter Ads API method

cards_video_conversation

The cards_video_conversation table contains info about the video conversation cards associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

cards_video_conversation schema on GitHub

Twitter Ads API method

content_categories

The content_categories table contains info about the content categories used as targeting criteria for ad groups.

Replication Method

Full Table

Primary Key

id

Useful links

content_categories schema on GitHub

Twitter Ads API method

funding_instruments

The funding_instruments table contains info about the funding instruments associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

funding_instruments schema on GitHub

Twitter Ads API method

iab_categories

The iab_categories table contains info about the app categories associated with ad groups.

Replication Method

Full Table

Primary Key

id

Useful links

iab_categories schema on GitHub

Twitter Ads API method

line_item_apps

The line_item_apps table contains info about the apps associated with line items associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

line_item_apps schema on GitHub

Twitter Ads API method

line_items

The line_items table contains info about the line items (ad groups) associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

line_items schema on GitHub

Twitter Ads API method

media_creatives

The media_creatives table contains info about the media creatives associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

media_creatives schema on GitHub

Twitter Ads API method

preroll_call_to_actions

The preroll_call_to_actions table contains info about the preroll call-to-actions associated with line items (ad groups) associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

preroll_call_to_actions schema on GitHub

Twitter Ads API method

promotable_users

The promotable_users table contains info about the promotable users associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

promotable_users schema on GitHub

Twitter Ads API method

The promoted_accounts table contains info about the promoted accounts associated with line items (ad groups) associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

promoted_accounts schema on GitHub

Twitter Ads API method

The promoted_tweets table contains info about references to Tweets associated with line items (ad groups) associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

promoted_tweets schema on GitHub

Twitter Ads API method

scheduled_promoted_tweets

The scheduled_promoted_tweets table contains info about the scheduled promoted Tweets associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

scheduled_promoted_tweets schema on GitHub

Twitter Ads API method

tailored_audiences

The tailored_audiences table contains info about the Tailored Audiences associated with an account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

tailored_audiences schema on GitHub

Twitter Ads API method

targeting_app_store_categories

The targeting_app_store_categories table contains info about the app store targeting categories associated with promoted products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_app_store_categories schema on GitHub

Twitter Ads API method

targeting_conversations

The targeting_conversations table contains info about the conversation-based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_conversations schema on GitHub

Twitter Ads API method

targeting_criteria

The targeting_criteria table contains info about the targeting criteria associated with an account.

Replication Method

Full Table

Primary Keys

id

line_item_id

Useful links

targeting_criteria schema on GitHub

Twitter Ads API method

targeting_devices

The targeting_devices table contains info about the device-based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_devices schema on GitHub

Twitter Ads API method

targeting_events

The targeting_events table contains info about event-based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_events schema on GitHub

Twitter Ads documentation

targeting_interests

The targeting_interests table contains info about the interest-based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_interests schema on GitHub

Twitter Ads API method

targeting_languages

The targeting_languages table contains info about the language-based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_languages schema on GitHub

Twitter Ads API method

targeting_locations

The targeting_locations table contains info about location-based targeting criteria for Promoted Products. According to Twitter Ads’s documentation, geo-targeting is available for Promoted Accounts and Tweets at the country, state/region, city, and postal code levels.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_locations schema on GitHub

Twitter Ads API method

targeting_network_operators

The targeting_network_operators table contains info about network operator-based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_network_operators schema on GitHub

Twitter Ads API method

targeting_platform_versions

The targeting_platform_versions table contains info about mobile OS-version based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_platform_versions schema on GitHub

Twitter Ads API method

targeting_platforms

The targeting_platforms table contains info about platform-based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_platforms schema on GitHub

Twitter Ads API method

targeting_tv_markets

The targeting_tv_markets table contains info about TV markets where TV shows can be targeted. Use the targeting_tv_shows table for info about individual TV shows.

Replication Method

Full Table

Primary Key

locale

Useful links

targeting_tv_markets schema on GitHub

Twitter Ads API method

targeting_tv_shows

The targeting_tv_shows table contains info about TV-show based targeting criteria for Promoted Products.

Replication Method

Full Table

Primary Key

targeting_value

Useful links

targeting_tv_shows schema on GitHub

Twitter Ads API method

tracking_tags

The tracking_tags table contains info about tracking tags associated with your account.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

updated_at

Useful links

tracking_tags schema on GitHub

Twitter Ads documentation

tweets

The tweets table contains info about the scheduled and published Tweets associated with an account’s full promotable user. Note: This table doesn’t include draft Tweets.

Replication Method

Key-based Incremental

Primary Key

id

Replication Key

created_at

Useful links

tweets schema on GitHub

Twitter Ads API method

Reference

In this section:

Entity and metric group compatibility reference

In the following table, you’ll find info about the custom report options Stitch’s Twitter Ads currently supports.

The columns are as follows:

  • Entity: The name of the entity
  • Metric group availability: The metric groups Twitter Ads supports for the entity, which determines the columns that will be available for selection in Stitch.

    For example: If an entity supports the BILLING metric group, you’ll see the billed_engagements and billed_charge_local_micro metrics as available columns in the report in Stitch.

    Click the links in this column for more info about the data points (columns) the metric group contains.

  • Segmentation compatibility: Indicates the level of segment compatibility for the entity:

    • indicates the entity is compatible with all segments
    • indicates the entity is compatible with some segments
    • indicates Twitter Ads doesn’t support segmentation for the entity

    Refer to the Segment compatibility reference for more info.

Entity Metric group availability Segmentation compatibility
ACCOUNT
Some compatibility
CAMPAIGN
Full compatibility
FUNDING_INVESTMENT
Some compatibility
LINE_ITEM
Full compatibility
MEDIA_CREATIVE
No compatibility
ORGANIC_TWEET
No compatibility
PROMOTED_ACCOUNT
Some compatibility
PROMOTED_TWEET
Some compatibility

Segment compatibility reference

In the following table, you’ll find info about the segment options Stitch’s Twitter Ads integration currently supports.

The columns are as follows:

  • Segment: The name of the segment
  • Entity compatibility: The entities Twitter Ads deems compatible with the segment. Note: Stitch’s integration accounts for some undocumented incompatibilities. They’re documented here, but you can view them in the Singer tap’s code.
  • Notes: Additional notes about the segment. For example: Some segments may require that specific fields be defined in Stitch.
Segment Entity compatibility Notes
NO_SEGMENT Compatible with all entities
AGE Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
AMPLIFY_MARKETPLACE_PREROLL_VIDEOS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
AMPLIFY_PUBLISHER_TWEETS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
APP_STORE_CATEGORY Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
AUDIENCES Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
CONVERSIONS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
CONVERSION_TAGS Compatible with the following entities:
  • ACCOUNT
  • CAMPAIGN
  • LINE_ITEM
  • ORGANIC_TWEET
Only compatible with the following metric groups: WEB_CONVERSION
DEVICES Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
EVENTS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
GENDER Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
INTERESTS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
KEYWORDS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
LANGUAGES Compatible with the following entities:
  • CAMPAIGN
  • LINE_ITEM
  • PROMOTED_TWEET
  • ORGANIC_TWEET
LOCATION Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
The Country codes field must be defined to use this segment
METROS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
The Country codes field must be defined to use this segment
PLATFORM_VERSIONS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
PLATFORMS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
POSTAL_CODES Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
The Country codes field must be defined to use this segment
REGIONS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
The Country codes field must be defined to use this segment
SIMILAR_TO_FOLLOWERS_OF_USER Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
SWIPEABLE_MEDIA Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
TV_ADS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET
TV_SHOWS Compatible with all entities except:
  • MEDIA_CREATIVE
  • ORGANIC_TWEET

Additional resources

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!