Update June 2: In order to allow more customers to take advantage of the newly launched Campaign Budget Optimization and Line Item Daily Budget features, we’ve made the budget_optimization parameter available in v10 of the Ads API. If you would like to continue setting total budgets at the line item level (total_budget_amount_local_micro), specify budget_optimization=LINE_ITEM in your POST accounts/:account_id/campaigns request. As a reminder, daily_budget_amount_local_micro is also required when using this budget optimization option. Read the full post below for more details on these features and the setup requirements.

Campaign Setup Changes

We have released an update to the Ads API that provides advertisers with more control over how their campaigns and line items deliver on a day-to-day basis.

As a part of this release, we are introducing new features, incorporating new setup requirements, and moving existing features.

Introducing Campaign Budget Optimization and Line Item Daily Budgets

In our v11 announcement, we introduced a new budget_optimization parameter to the Campaigns endpoint. This parameter gives advertisers more flexibility around how they allocate spend between Campaigns and Line Items by enabling daily budgeting at the Line Item level.

Up to this point, we had only allowed one budget_optimization type: CAMPAIGN. With this launch, we are adding a second budget_optimization option: LINE_ITEM.

New Setup Requirements

Depending on the budget_optimization type that an advertiser selects, the setup requirements will vary. These requirements will apply to any new campaigns or line items. See below for the details:

  • budget_optimization=CAMPAIGN
    • daily_budget_amount_local_micro is required at the Campaign level and must be blank or excluded from the Line Item level

    • total_budget_amount_local_micro is optional at the Campaign level and must be blank or excluded from the Line Item level

  • budget_optimization=LINE_ITEM
    • daily_budget_amount_local_micro is required at the Line Item level and must be blank or excluded from the Campaign level

    • total_budget_amount_local_micro is optional and can be set at the Campaign level, the Line Item level, or both.

Key notes related to this update:

  • No changes are required for existing campaigns as they will automatically default to budget_optimization=CAMPAIGN at launch.

  • For these campaigns that are defaulted to budget_optimization=CAMPAIGN but have total_budget_amount_local_micro set at the Line Item level, these Line Item total budgets will be honored but they will no longer be editable. Advertisers will still be able to remove this parameter.

  • Once an advertiser sets budget_optimization=CAMPAIGN, they cannot be switch to budget_optimization=LINE_ITEM. This rule does not apply to draft campaigns.

  • For new campaigns, advertisers will hit an error if they attempt to utilize budget_optimization=CAMPAIGN while including either daily_budget_amount_local_micro or total_budget_amount_local_micro at the Line Item level. This error will persist across versions.

To reduce confusion and potential errors, we encourage you to remove the option for setting budgets at the Line Item level when Campaign Budget Optimization is being used.

[Reminder] Moving start and end times to Line Item level

In our v11 announcement, we announced that start_time and end_time parameters have been removed from the Campaigns endpoint and moved to the Line Items endpoint.

This change is related to our plans to add utility to our Line Item capabilities in the future, ultimately giving advertisers more control over how they manage Line Items to meet the specific requirements of their Campaigns.

Key notes related to this update:

  • If you have not yet upgraded to v11, you may begin to see start_time and end_time even if they have previously not been set. If the Line Item start_time and end_time is null, the values that will appear will be the same as the Campaign start_time and end_time. The serving of these campaigns are not affected.

  • If you have not yet upgraded to v11, updating the campaign start_time and end_time will not change the new Line Item start_time and end_time.

Recommendation

In order to align with the Ads UI product launch, we recommend building for these changes as soon as possible.

To learn more, check out these resources on the Campaigns endpoint and the Line Items endpoint.

Please let us know if you have any questions.

Twitter Ads API team

Update June 2: In order to allow more customers to take advantage of the newly launched Campaign Budget Optimization and Line Item Daily Budget features, we’ve made the budget_optimization parameter available in v10 of the Ads API. If you would like to continue setting total budgets at the line item level (total_budget_amount_local_micro), specify budget_optimization=LINE_ITEM in your POST accounts/:account_id/campaigns request. As a reminder, daily_budget_amount_local_micro is also required when using this budget optimization option. Read the full post for more details on these features and the setup requirements.