How do daily and lifetime budgets work for ChatGPT campaigns?

The Citead team, updated

In short. Daily budgets support Maximize Results, while lifetime budgets set a total campaign limit for fixed bidding.

Definition: A campaign budget is the spending limit shared by the campaign's ad groups. OpenAI documents a daily budget for a recurring daily limit and Maximize Results, and a lifetime budget for a total campaign limit used with fixed bidding.

Key facts

  • OpenAI's Bidding & Budgets documentation names daily_spend_limit_micros and lifetime_spend_limit_micros, requires one budget field, and shares the campaign budget across its ad groups.
  • OpenAI's campaign reference says campaign ads show between the defined start and end times and uses the account's timezone and currency defaults.
  • OpenAI's ad-account reference says account limits apply across campaigns while campaign budgets remain independent, and account limits do not pace delivery.

What does a daily budget control?

OpenAI's Bidding & Budgets documentation defines the daily field as daily_spend_limit_micros. It expresses the campaign's spending limit for a day and is the budget type required by both Maximize Results strategies. Maximize clicks lets OpenAI adjust bids toward clicks, while Maximize conversions lets it adjust bids toward conversions. Both strategies use click billing and omit a fixed max_bid_micros value.

Budget amounts use micros. OpenAI defines one micro as one millionth of the account currency's major unit, so a USD amount is multiplied by 1,000,000 before it is sent as an integer. A daily minimum depends on the account currency, and a request below the applicable minimum returns an error with the required amount.

{
  "budget": {
    "daily_spend_limit_micros": 50000000
  }
}

The example represents a $50 daily budget in a USD account. The documentation labels the amount illustrative and says to use values appropriate to the account currency and advertising plan.

What does a lifetime budget control?

OpenAI's Bidding & Budgets documentation defines the lifetime field as lifetime_spend_limit_micros. It sets a total spending limit for the campaign and is documented with fixed bidding. The API accepts one budget field, which makes the daily and lifetime choices mutually exclusive at campaign level.

{
  "budget": {
    "lifetime_spend_limit_micros": 500000000
  }
}

OpenAI's example represents a $500 total campaign budget in a USD account. A lifetime budget has a floor at the amount already spent. If a campaign is changed from lifetime to daily, the campaign update sends a daily field. The reverse change requires a new campaign.

How do bidding and schedule affect delivery?

The budget is configured on the campaign, while billing event and bid strategy are configured on the ad group. A fixed bid can optimize for impressions, clicks, or conversions, subject to the compatible objective. Maximize clicks and Maximize conversions use a daily campaign budget and let OpenAI adjust bids toward the selected outcome.

The campaign reference documents start_time and end_time as the delivery window. If start_time is omitted, delivery begins immediately. The campaign's time and currency fields follow the account's configured timezone and currency. The budget page also says delivery depends on schedule, resource status, reviews, targeting, and available inventory.

OpenAI's account documentation distinguishes an account spending limit from campaign budgets: account limits apply across campaigns, while campaign budgets continue to apply independently, and account limits do not allocate spend between campaigns or pace delivery. The reviewed pages do not describe an intraday delivery curve for a campaign's daily budget.

What changes when a budget is edited?

OpenAI's budget documentation says an update replaces the budget amount. For example, setting a USD daily budget to 75000000 sets the daily budget to $75; the previous amount is replaced. For a lifetime budget, the submitted value is the new total. When reducing a daily budget, OpenAI says to review fixed bids and audience multipliers because the API can reject a budget below an ad group's effective bid.

After an update, retrieve the campaign and confirm the budget object and any reported serving issues. An account spend limit remains an independent control, so an exhausted account limit remains in force after a campaign budget increase.

FAQ

Can a campaign have both a daily and lifetime budget?

No. OpenAI's budget documentation requires exactly one budget field on a campaign. Use separate campaigns when separate spending limits are needed.

Which budget works with Maximize Results?

Use a daily campaign budget. Maximize clicks and Maximize conversions omit max_bid_micros, use click billing, and let OpenAI adjust bids toward the selected outcome.

Can a daily budget be changed into a lifetime budget?

An existing lifetime budget can be changed to daily through a campaign update. The reverse change requires a new campaign for a lifetime budget.

Does an account spending limit pace campaigns?

OpenAI documents account spending limits as shared caps across campaigns. They leave campaign budgets independent and leave spend allocation between campaigns outside the account limit.

Sources

  1. OpenAI Developers, "Bidding & Budgets", undated
  2. OpenAI Developers, "Campaigns", undated
  3. OpenAI Developers, "Ad Account", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark