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 Ads Endpoints
10 X Ads endpoints you can import. Each lands in its own table in your data warehouse.
Accounts
Advertising accounts — name, business, country, timezone, and approval status.
12 fieldsAd Performance
Daily ad performance by placement — impressions, clicks, spend, engagements, and social actions.
20 fieldsTime seriesAd Performance by Country
Daily ad performance broken down by country — impressions, clicks, spend, engagements, and social actions.
21 fieldsTime seriesAll Cards
All card types with full creative details — type, title, destination URL, call to action, and media.
28 fieldsCampaigns
Your campaigns — status, budget optimization, daily and total budget, and currency.
19 fieldsCards
Website and app cards — type, URI, and components.
8 fieldsLine Items
Line items within campaigns — bid strategy, goal, product type, budget, and schedule.
33 fieldsPromoted Tweets
Tweets promoted as ads — status, approval, and links to their tweets and line items.
8 fieldsTargeting Locations
Reference table of location IDs with names and country codes — join targeting_value with the country field in Ad Performance by Country.
4 fieldsTweets
Original tweets used as ad creatives — text, type, language, engagement counts, and card URI.
34 fields
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 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
Step 1: Connect X Ads and choose what to load
Create a Data Mart, choose X Ads as the 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
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
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 quality checks can read it too.
- placement tells ALL_ON_TWITTER from PUBLISHER_NETWORK
- Teammates can query the table without the API reference
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 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
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
Step 6: Reuse the Databricks tables in every tool
One set of tables feeds your model, , , 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
- 0.40.0Connecting a plan from Google Sheets takes fewer guesses
- 0.39.0Reload a year of history in one backfill, not twelve
- 0.39.0Long Facebook Ads imports no longer fail on a corrupted response
- 0.38.0Shopify connector: more orders fields, including line-item discounts
- 0.37.0Short links resolve only on known short link services and domains you allow
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.
You are booked. The invitation is on its way to , with the calendar invite and the meeting link.
Schedule in person meeting at Data Outpost San Francisco
You are booked. The invitation is on its way to , with the calendar invite and the meeting link.