> For the complete documentation index, see [llms.txt](https://docs.roivenue.com/roivenue-resources/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roivenue.com/roivenue-resources/roivenue-training/roivenue-app/data/connectors-overview/list-of-connectors/x-twitter.md).

# X (Twitter)

How to connect X (Twitter) to Roivenue, what the default setup downloads, and how the figures are put together.

X Ads, formerly Twitter Ads. The Roivenue connector downloads daily impressions, clicks and billed spend per line item, plus the purchases X attributes to them.

## Setting up the connector

Add a X connector in Roivenue and choose Connect to X. Roivenue sends you to X to sign in and approve access. There are no keys to copy.

### Setup options

| Option                    | Default    | What it does                                                      |
| ------------------------- | ---------- | ----------------------------------------------------------------- |
| Conversion type name      | `purchase` | What X purchases are called inside Roivenue.                      |
| AdCampaign REGEX filter   | everything | Limits the connector to campaigns matching a pattern.             |
| Web source and Web medium | blank      | The UTM source and medium that X traffic should be recognised as. |

## What the default setup downloads

Three jobs. One brings impressions, clicks and spend per line item and day, a second brings purchases and their value, and a third downloads the feed behind synthetic impressions.

### Where the values land

| X (Twitter) field                  | Roivenue column |
| ---------------------------------- | --------------- |
| `campaign.name`                    | adCampaign      |
| `line_item.name`                   | adGroup         |
| `card.name`                        | ad              |
| `impressions`                      | impressions     |
| `clicks`                           | clicks          |
| `billed_charge_local`              | cost            |
| `conversion_purchases_metric`      | conversions     |
| `conversion_purchases_sale_amount` | conversionValue |

The X line item becomes the ad group in Roivenue, and the promoted tweet's card name becomes the ad.

Cost is the billed charge in local currency, so it is what was actually invoiced rather than an estimate.

Only placements on X itself are included.

The jobs reprocess the last three days on every run.

## Available columns

The table above is what the recommended template downloads. Every column this connector can bring back is listed on [X (Twitter) - Supported Columns](/roivenue-resources/roivenue-training/roivenue-app/data/connectors-overview/list-of-connectors/x-twitter/x-twitter-supported-columns.md).

Adding one means editing the connector in the Advanced Editor, which stops that connector receiving template updates.

## Synthetic impressions

Alongside the daily figures, this connector downloads a conversion feed that Roivenue uses to build synthetic impressions.

Ad platforms report conversions that Roivenue never saw as a web session, because of ad blockers, cross-device journeys or conversions uploaded from a CRM. Left alone those orders look like they came from nowhere, and paid media gets undercounted. The synthetic impression stands in for the missing visit so path analysis and attribution see a complete journey.

There is nothing to configure. It comes with the connector, and it is why the setup creates more than one job.

## How far back the data goes

The connector will request up to three years of history. How much arrives depends on what the platform holds for the account.

## Troubleshooting

<details>

<summary>Spend does not match the X Ads dashboard</summary>

The connector reads the billed charge, which is the invoiced amount. A dashboard showing estimated or delivered spend can differ, particularly for the current month.

</details>

<details>

<summary>A campaign is missing</summary>

Check the campaign regex filter on the connector. It defaults to matching everything, but a filter set during onboarding will silently exclude anything that does not match.

</details>
