Connector

Load X Ads data into Databricks

Send X Ads, formerly Twitter Ads, to Databricks with OWOX Data Marts: campaigns, line items, promoted tweets and daily performance as tables in your Databricks catalog. Read each promoted post beside its cost, then join it with web analytics and CRM.

X AdsConnectedAccountsAd PerformanceAd Performance b…All Cards
Data MartPublishedone definition
DatabricksDateClicksImpre…Daily 09:00
Refreshed on a schedule. No exports, no copy-paste.

Get Started Free

Endpoints

S00 · Why

Why join X Ads with web analytics and CRM in Databricks

On X, an ad is a post. X Ads reports its impressions, engagements and billed amount, but not what the visitors it sent were worth. To see that, the post and its cost must sit beside website touch points and CRM deals in one data warehouse.

  • Read a promoted post's text and counts beside its cost
  • Compare X with LinkedIn, Facebook and Google spend in Databricks
  • Tie link clicks to the visits and deals after them
X AdsPromoted post spend
Web analyticsVisits, sign-ups
CRMDeals
Your data warehouseDatabricksPromoted po…Touch pointDealJoined by idPost promotedDeal months laterOne query links the ad to the deal.

S01 · Step 1

Step 1: Connect X Ads and choose what to load

Create a Data Mart, choose X Ads as the data source, enter your developer app keys and tokens and the Account ID, and tick only the fields you need.

  • 10 endpoints and 187 fields to choose from
  • Ad Performance has 20 fields: impressions, clicks, billed charge, engagements, follows, likes
  • Several account ids can load into one Data Mart
New Data MartChoose a sourceGoogle AdsX AdsFacebook AdsAuthorizeConnectedEndpointAd PerformanceAccountsAd Performance by…All Cards
Ad Performance20 fieldsdateplacementimpressionsclicksbilled_engagementsbilled_charge_local_micro

S02 · Step 2

Step 2: Load X Ads into Databricks tables

The catalog defaults to main, and the schema and table are pre-filled; change any of them. Run it and the first load, from the start of the previous month through today, lands in your own Databricks workspace.

  • Performance goes to a table such as x_ads_stats
  • The billed amount is in micros of local currency (billed_charge_local_micro); convert it once in your model
DestinationDatabricksCatalogmainSchemax_adsTablestatsRun
Run HistoryPendingRunningSuccessIncremental load
Tablemain.x_ads.stats

S03 · Step 3

Step 3: Open the output schema in plain words

The first run gives you the output schema: every field with an alias and a readable description, not an API identifier. Your data quality checks can read it too.

  • placement tells ALL_ON_TWITTER from PUBLISHER_NETWORK
  • Teammates can query the table without the API reference
main.x_ads.statsOutput schemaFieldDescriptiondateThe date for which the…placementThe placement type (ALL_ON_TWITT…impressionsNumber of impressions.clicksNumber of clicks.billed_engagementsNumber of billed engagements.billed_charge_local_microBilled amount in micros.

S04 · Step 4

Step 4: Keep the X Ads tables linked

Line items, promoted tweets and tweets stay separate tables, joined by ids. In SQL they become one X Ads data model.

  • A promoted tweet's tweet_id finds the post's full_text and counts in Tweets
  • Campaigns, accounts and cards load as tables of their own
Line Itemsidnamecampaign_id
Tweetstweet_idfull_textretweet_count
Promoted Tweetsidline_item_idtweet_id

S05 · Step 5

Step 5: Refresh on a schedule and backfill the history

Set it once. A scheduled refresh keeps the Databricks tables current, and a manual run loads a past period of your choice.

  • Add a run trigger once; a lookback window, 2 days by default, reloads recent days
  • Backfill a custom start and end date
ScheduleRun on a scheduleDaily 09:00
BackfillRun backfill
Run HistoryDaily scheduleManual backfillDaily schedule

S06 · Step 6

Step 6: Reuse the Databricks tables in every tool

One set of tables feeds your data model, spreadsheets, dashboards, AI assistants like Claude and ChatGPT and AI insights in Slack or email.

  • See which promoted posts earned their cost
  • Every report reads the same table
X AdsData MartPublished
Your data model
Google Sheets
Data Studio dashboards
Claude, ChatGPT
Slack, email

Recent updates

Why OWOX

Why OWOX for X Ads in Databricks

Notebooks over the Ads API and generic ETL tools get X data in. OWOX also keeps it in your tables, readable and ready to model.

  • You own the data. It lands in your own Databricks workspace, in tables you control.
  • The post and its cost together. Promoted tweets load beside the tweets themselves, with text and engagement counts you can join to spend.
  • A billed amount you can convert. billed_charge_local_micro arrives with a description, ready for one conversion in your model.
  • Joined by line item and tweet ids. The tables arrive ready to meet web analytics and CRM in SQL.
  • Maintained for you. No jobs to repair when X changes its Ads API.
  • Free to self-host. The open-source OWOX Data Marts runs in your own infrastructure.

Book a callGet Started Free

Trust

The Data Partner You Can Trust

users

176K Source: Internal OWOX data as of 2026-10-02

Executives and data analysts across 20+ industries

G2 rating

4.9★2

“A trusted data analytics partner” — verified review

npm installs

165K3

In Open Source We Trust

Customers