Issue Description
When the same Tweet is promoted in multiple different Campaigns / Line Items, requesting analytics with entity=PROMOTED_TWEET returns completely identical data— even when one Campaign had actual delivery and spend while the other had zero activity during the requested period.
Detailed
One Tweet (same tweet_id) is used in Campaign A and Campaign B.
Campaign A had impressions, engagements and billed spend.
Campaign B had no delivery / no spend in the same time range.
When querying analytics for the two corresponding promoted_tweet_ids (different IDs), both return exactly the same metrics (same impressions, same billed_charge_local_micro, etc.).
Expected Behavior
Each promoted_tweet_id should return metrics scoped to its own Line Item / Campaign, reflecting only the actual performance and billing of that specific promotion instance.
Current Impact
This makes it impossible to get accurate per-Campaign creative performance when reusing the same Tweet. We are forced to rely on entity=LINE_ITEM as the source of truth and manually map, which loses granular creative insights.
Additional Information
Observed on both synchronous and asynchronous analytics endpoints.
Affects granularity=DAY and TOTAL.
API Version: v12
Started appearing around late April 2026.
Request to X Ads Team:
Please confirm if this is a known regression bug and when it can be fixed. Accurate creative-level reporting across campaigns is critical for advertisers who reuse creatives.
Thank you!
Issue Description
When the same Tweet is promoted in multiple different Campaigns / Line Items, requesting analytics with entity=PROMOTED_TWEET returns completely identical data— even when one Campaign had actual delivery and spend while the other had zero activity during the requested period.
Detailed
One Tweet (same tweet_id) is used in Campaign A and Campaign B.
Campaign A had impressions, engagements and billed spend.
Campaign B had no delivery / no spend in the same time range.
When querying analytics for the two corresponding promoted_tweet_ids (different IDs), both return exactly the same metrics (same impressions, same billed_charge_local_micro, etc.).
Expected Behavior
Each promoted_tweet_id should return metrics scoped to its own Line Item / Campaign, reflecting only the actual performance and billing of that specific promotion instance.
Current Impact
This makes it impossible to get accurate per-Campaign creative performance when reusing the same Tweet. We are forced to rely on entity=LINE_ITEM as the source of truth and manually map, which loses granular creative insights.
Additional Information
Observed on both synchronous and asynchronous analytics endpoints.
Affects granularity=DAY and TOTAL.
API Version: v12
Started appearing around late April 2026.
Request to X Ads Team:
Please confirm if this is a known regression bug and when it can be fixed. Accurate creative-level reporting across campaigns is critical for advertisers who reuse creatives.
Thank you!