X Ads reporting
X Ads, reported objective by objective
Campaigns, ad groups, promoted posts, keyword and conversation targeting, placements including Amplify pre-roll, and X Pixel conversions — scoped to one client. Sign in to open the report workspace, or preview what's inside.
X Ads reporting
X, formerly Twitter, is the one paid social platform where you buy the conversation itself — keywords, topics and the followers of specific accounts. This dashboard reports an X Ads account the way the platform is actually built: campaigns carrying an objective, ad groups carrying the bid and the budget, and promoted posts carrying the creative, with the targeting, placement and pixel breakdowns underneath.

X asks you to pick an objective before it will let you build anything, and that choice decides what the platform will optimize toward and what it will count as a result. The report keeps that decision visible. Filter the account by objective and every card, chart and table re-bases to it, so a Reach campaign is read on impressions and CPM, a Followers campaign on follows and cost per follow, and an App installs campaign on installs attributed from the click. Nothing gets averaged into a single blended number that flatters the loudest campaign and buries the rest, and no objective is quietly graded on a metric it was never bidding toward.
The campaigns tab spells the definition out in each row: the objective, the word that objective uses for a result, the results themselves, what each one cost, the delivery status, the link CTR and the engagement rate. Because all seven sit on one line, a campaign that is delivering fine but converting badly is distinguishable at a glance from one that has quietly stopped delivering at all, and both are distinguishable from one that was simply paused. That distinction is usually the entire first five minutes of a client call, and here it is answered before the call starts. The spend mix beside it splits the budget by objective, so the strategic question of how the money is allocated across brand and performance work is settled in the same breath.
Underneath every X campaign sit ad groups, and they are where the money is actually controlled. Each one carries a bid strategy — autobid, maximum bid or target cost — a daily budget, a pacing setting and a frequency cap. Reporting the outcome without those settings makes performance look like weather. The ad groups tab puts them in the same row as spend, results and cost per result, so the comparison an optimizer wants is right there: what did autobid cost against a maximum bid on the same objective, in the same account, over the same window.
Frequency and pacing get the same treatment. An accelerated ad group that spends its budget by lunchtime and a standard one that spreads across the day behave nothing alike, and a cap of two impressions per week per person is a different campaign from a cap of six even when the creative is identical. The report shows the cap, the pacing mode and the daily budget as configured, beside the spend that setup actually produced, so an ad group running well under its budget is visible as an under-delivery problem rather than a performance one. Clicking a campaign drills straight into its own ad groups with a breadcrumb you can clear, so moving from the account summary to a single misbehaving line item takes two clicks rather than a fresh export and a spreadsheet filter.
An X ad is a post, which makes creative reporting unusually direct: the thing that ran is the thing people could reply to, repost and quote. The promoted posts tab lists every post that carried spend with its creative type, what it cost, how many impressions it earned, its engagement rate, its link CTR, its results and its video views, with the ad group it belongs to named underneath. Sorting by spend, engagement rate or results turns the same table into three different conversations — where the money went, what people actually responded to, and what produced the outcome the campaign was bought for.
Creative type is a first-class dimension because on X it behaves like one. A text-only post can out-engage a polished video and still send almost no traffic; a website card can send traffic while earning very little conversation; a carousel can do a bit of both and cost more than either. Video views are attributed only to the creatives that can carry them, so an image post never inherits views it could not have produced, and the video column stays a real measure rather than an artefact of how the spend was split. That keeps a creative review honest, and it means the next round of production briefs is written from what actually ran rather than from what everyone remembers running. Drilling in from an ad group shows only that group's posts, which is how a creative test gets read without the rest of the account crowding the table.
Most paid social targets who a person is. X can also target what they are saying. Keyword targeting matches the words in posts and searches; conversation topics match curated subjects people are actively discussing; follower look-alikes reach people who resemble the audience of a named account. Alongside those sit interests, custom audiences built from site visitors and uploaded lists, event audiences and programming audiences. The targeting tab reports all of them with spend, impressions, CPM, link clicks, CTR, results and cost per result, plus the top criteria running inside each type, so the abstraction of a targeting strategy becomes a list of the actual words, topics and accounts the budget went to.
That structure answers the question a client asks about X more than any other: what exactly are we targeting, and is it working. A keyword set that earns clicks at half the account's blended cost is a budget decision waiting to be made. A look-alike pool that soaks up spend and returns conversation but no clicks is a creative decision instead, and an interest audience that behaves like broad reach is usually a scoping decision. Because every share adds back up to the account total, the tab reads as a budget allocation rather than as a set of disconnected percentages, and switching the bar chart between spend and results reframes the same rows as a cost question or an outcome question. Filtering to one objective re-bases all of it, so the targeting story for a follower campaign never borrows numbers from a traffic campaign.
Where an X ad appears changes what it can reasonably be expected to do. The home timeline is the volume placement. Search results catch typed intent and usually carry the strongest click behaviour on the platform. Replies place a promoted post inside a live conversation, which lifts engagement and rarely lifts clicks. Profiles are a small, cheap surface. Amplify pre-roll is different again — it runs in front of publisher video, so it buys views and completion rather than click-through. Reporting them as one number hides all five stories at once, and it is the reason a healthy account can look mediocre and a wasteful one can look fine.
The placements tab gives each one its own spend, share of budget, impressions, CPM, link clicks, CTR, engagement rate and video views, and calls out pre-roll explicitly with a short note on how it should be read. Filtering to a single objective re-cuts the spend mix donut by placement, so the strategy conversation moves from which campaign to which surface without changing screens or exporting anything. It is the fastest way to catch budget draining into inventory that was never going to serve the objective it was assigned to, and the fastest way to defend a placement a client has decided they dislike on instinct. Search and replies in particular tend to look wrong until their CTR and engagement rate are put side by side with the timeline's.
The X Pixel and the Conversion API report events back against the campaigns that earned them, and the conversions tab lays those out per campaign: site visits, sign-ups, purchases and leads, each with its own count, alongside cost per conversion, attributed value and return on ad spend. The four event counts add back up to the campaign's conversion total, so the arithmetic is checkable rather than asserted, and only purchases and leads carry a monetary value, which means the revenue line is never inflated by counting a page view as income. Above the table, four summary tiles give the filtered slice's conversions, value, cost per conversion and return, so the headline and the detail can never disagree.
That honesty matters most on mixed accounts. A brand campaign will report conversions with a return well below one because it was never bought for revenue, and the report says so in plain language rather than flagging it as a failure the account team then has to explain away. Filter to the objectives that were bought for revenue and the return figure becomes a number worth defending in front of a client. The campaigns tab does the same job from the other direction: it marks the one campaign paying most heavily for its results, which is usually the single most useful thing to walk into a monthly review already knowing, and the thing a blended account average is guaranteed to hide.
A result is whatever the campaign's objective was bought to produce, so it changes meaning campaign by campaign. On a Reach campaign a result is an impression; on Video views it is a video view; on Website traffic it is a link click; on Engagements it is an engagement; on Followers it is a follow; and on App installs it is an install attributed from the click. The report labels the results column with the objective's own word rather than pretending one number means the same thing everywhere.
Cost per link click divides spend by link clicks and means the same thing in every campaign. Cost per result divides spend by whatever that campaign's objective defines as a result, so a follower campaign reports cost per follow and a video campaign reports cost per view. The two only agree on a Website traffic campaign, where the result is the link click. Reporting both side by side is what stops an awareness campaign from being judged on a metric it never bid for.
Conversation topics are curated subjects that X maintains, and targeting one puts your promoted post in front of people posting about or engaging with that subject. It sits beside keyword targeting, which matches the specific words people write and search. Both are unusual: most platforms target who someone is, while X can target what they are talking about right now. The targeting tab reports spend, clicks and results for each type and lists the top criteria inside it.
Amplify pre-roll runs your video ad in front of video published by media partners on X, rather than inside the timeline. It buys attention on someone else's content, so it delivers views and completion far more readily than clicks. The placements tab reports it separately with its own spend, CPM, video views and link CTR, and the report says plainly that pre-roll should be judged on views rather than on click-through.
No. This report covers paid X Ads only — campaigns, ad groups, promoted posts, targeting, placements and pixel conversions. Organic X performance, including profile followers, post impressions and engagement on unpromoted posts, is reported separately at /reports/twitter-organic. Keeping the two apart means paid spend is never mixed into an organic engagement rate, which is the most common way a social report quietly stops being true.