AdGroup Campaign?


When I create a campaign using the Python SDK, the campaign created is labeled “Ad Groups” as a default (as you can see in the pic attached). This means that it cannot be edited through the UI. How can I create a campaign from the SDK, so that it can be edited from the UI?

AdGoups campaigns

Hi @nicomilie! Multiple line items (ad groups) per campaign are not available in the UI, only in the API. Please see under the heading “Available in the Ads API but not in the Twitter Ads UI”.


Thanks for your answer @majoritasdev, but this is not what i was asking for.

Im actually trying to create a campaign using the SDK, which can be edited from the UI (not the Ads Editor, but directly from the edit campaign dashboard on the UI).

I know that using the SDK+API+Ads Editor i can create an Ad Groups campaign. But a campaign of this structure type cannot be edited using the UI, this is the issue…


You need to limite your Ad Groups to 1, for every campaign.


I have only 1 Ad Group per Campaign…


This is unusual. Please get the line items of that campaign and make sure it’s only one.


I attached a screenshot of my campaign with only one Ad Group and of type “Ad groups campaign”. Any other idea?


@nicomilie: please post the raw requests to create the campaign and its line item. You can do var_dumps (I assume Python has an equivalent to PHP’s var_dump and exit) and get the URL and the parameters just before the SDK is sending them to Twitter, and then post them here. I’m hoping to see something different than a normal create campaign / line item call - some unusual parameter or something…


campaign = Campaign(account)
campaign.funding_instrument_id = account.funding_instruments().next().id
campaign.daily_budget_amount_local_micro = 10000000
campaign.total_budget_amount_local_micro = 20000000
campaign.standard_delivery = False
campaign.paused = True = 'campaign_123’
campaign.start_time =

line_item = LineItem(account)
line_item.campaign_id =
line_item.product_type = PRODUCT.PROMOTED_TWEETS
line_item.placements = [PLACEMENT.ALL_ON_TWITTER]
line_item.objective = OBJECTIVE.WEBSITE_CLICKS
line_item.automatically_select_bid = True
line_item.total_budget_amount_local_micro = 15000000 = "line item 1"
line_item.paused = False


As far as I can see in the Ads UI, accelerated delivery (i.e. standard_delivery = false) is not compatible with automatically_select_bid = true, so maybe that’s why your campaign is uneditable in the Ads UI. Try the same call without specifying standard_delivery and let us know if the problem persists or not.

Also, the line item’s total_budget_amount_local_micro is strictly lower than the campaign’s total_budget_amount_local_micro and I think that’s why Twitter assumes you intend to create another line item in the same campaign, since you’re not attributing the full campaign budget only to this line item. Try to leave the line item’s total_budget_amount_local_micro out and see if it solves the problem.

AdGoups campaigns

@nicomilie I would also raise this as an issue in the Twitter Ads UI - by clicking Help? at the top right corner and chat with a support agent.

They usually are able to shed some light on this.


@juanshishido It would be really good to get some feedback on this. At times we have a situation where we see Ad Groups campaigns randomly, I will follow up with some details.


@msbukkuri, @majoritasdev, @nicomilie: We haven’t been able to repro this.

We’ve used the same exact campaign and line item parameter values—those shown above—using the Python SDK and are not seeing the “AD GROUPS” or “Ad groups campaign” tag. These campaigns are editable on