Budget and limits

ShopeeTikTok
Monthly, daily, per-day and within-day — the four layers, budget mode, and what happens when you set none of them.

Every budget layer is optional, and where you set none the model picks the amount. That is the single idea behind this page. A group is not obliged to have a number on it; leaving it blank is an instruction, not an omission.

The two group-level layers live on Global settings → Budget. The other two are set elsewhere and are covered at the end.

Group Monthly Budget

The most this group may spend across the whole month.

Set it and the Monthly Setting calendar becomes a plan: DataGlass paces the amount across the month, holds back for the days it expects to be worth more, and re-spreads what is left whenever a day comes in under or over.

Leave it on Auto and there is no month-level ceiling. The calendar still draws a month, but as a forecast rather than a commitment.

Group Daily Budget

The amount for an ordinary day. What it means depends on the budget mode.

ModeReads asBehaviour
Spend at mostA ceilingSpend only where it pays for itself. The day may end under the number
Spend it allA targetThe full amount is allocated across the group, even where the last of it earns less

Spend at most is the safe default. Choose Spend it all when the money is committed and the question is only where it goes — a launch week, a platform campaign, a budget you have to use.

Spend it all switches off Campaign Daily Budget. When the group is spending to a target, the group amount is the only limit and per-campaign ceilings stop applying. Switch the group back to Spend at most to use them again.

Leave Group Daily Budget on Auto and the model picks each day's amount from its forecast. The campaigns still run to a real daily budget on the platform — the model chooses it for you.

Setting neither

With both layers on Auto, the group has no limit you wrote. The model sizes every day from what it expects to be worth spending, and the calendar shows those amounts as Projected rather than planned.

This is a legitimate way to run a profit group: profit is self-limiting, so the solver stops where the next baht stops earning its place. It is not available to a GMV or Orders group — those need a budget or a constraint, because more spend always buys more revenue and more orders. See Choosing an objective.

Campaign Daily Budget

An optional ceiling on a single member, set on the Campaigns tab, so one campaign cannot take too large a share. Left unset it reads Managed automatically — the group decides.

It is a ceiling on the group's own allocation, not a budget you are promising to spend. And, as above, it does nothing while the group spends to a target.

The platform minimum

Shopee will not run a campaign below ฿100 a day. So a campaign the solve allocates less than ฿100 is paused for the day instead of being underfunded, and its share goes to the others. It comes back the next day the allocation can fund it properly.

That is also why a group's limits have to cover ฿100 × the number of campaigns you are launching when you create product ads.

Target ROAS

The return every campaign in the group bids toward, written to the platform as the campaign's own target ROAS.

A target ROAS is carried by a date, not by the group. The field on Global settings is read-only and says so; to set one, open a day from the Monthly Setting calendar or a change point on the Timeline.

With no floor, the platform bidder spends the budget whatever the return. With a floor it cannot reach, it spends less than the budget allows.

If any change point sets a target ROAS, then 00:00 of every scheduled date must set one too — the platform needs a value at the start of the day. The editor blocks the save and says which dates are missing one.

Growth Exploration

How actively DataGlass spends a little differently from the best-known allocation, so the model learns what other spend levels return. Each level is a separate controller; they never run together.

LevelWhat it does
OffThe ordinary constrained optimizer, with no deliberate exploration
Low (default)Varies daily budgets by up to ±20%, using the retry-stable random controller
ModerateExplores more, and looks for upside once a week

Turn it Off for a group whose budget is committed and where an experiment is unwelcome. Leave it on Low for anything you want to keep improving — a model that only ever sees one spend level cannot tell you what a different one would have earned.

The other two layers

LayerWhereWhat it does
Day lock / day ceiling / pauseMonthly SettingOne date's own amount. It replaces the daily layer for that date rather than sitting under it, so a higher amount is spent in full
Change point budget capTimelineA running day-to-date ceiling. It is a total, not an evening allowance, so it can only rise as the day goes on

Reading it back

The Allocation panel beside Global settings shows what the current settings produce per campaign, with today's budgets as a ghost behind the proposal. Watch for:

  • Unallocated — budget the solve deliberately left unspent, usually because funding another campaign would break the constraint.
  • Unfunded — campaigns that got nothing. Loosen the constraint or raise the budget.
  • Stranded — campaigns the model funded that are paused on the platform, so the money cannot reach them. Resume them on the Campaigns tab.
  • Uncertain reserve — held back for campaigns whose creation is not yet confirmed, so the group cannot overspend if they turn out to exist.
Saving Global settings triggers a run immediately, so you see the effect rather than waiting for the night. Nothing on the calendar or the Timeline reaches the platform until that run.