Choosing an objective
The objective is the single question the daily split answers. Same budget, same campaigns, three different answers — because each objective measures "worth it" differently.
Set it on Global settings, under Advanced. It applies to every day the group runs unless a change point or a day's own settings say otherwise.
The three objectives
| Objective | Maximizes | The budget flows to |
|---|---|---|
| Profit | Contribution profit — revenue after fees, COGS, and shipping | Products that keep the most money per baht spent |
| GMV | Attributed revenue | High-ticket products, even at thin margins |
| Orders | Incremental conversions | Cheap, fast-converting products |
What actually changes
Take two campaigns and ฿1,000 a day:
- Campaign A — ฿1,200 item, 8% margin.
- Campaign B — ฿250 item, 35% margin.
Profit pushes the budget to B: each sale keeps ฿87 against A's ฿96, but B converts far more often per baht. GMV pushes it to A: one sale is worth almost five of B's. Orders pushes it to B harder still, and stops caring what B is worth once it converts.
None is wrong. They optimize different businesses.
Picking one
- Profit — the default, and right for most shops. Use it whenever the group's products have COGS on file.
- GMV — use when you're chasing a revenue target, a platform tier, or share in a category, and you accept thinner margins to get there.
- Orders — use for launches, review velocity, or ranking momentum, where the count of sales matters more than what each one earns.
GMV and Orders need a bound
Profit is self-limiting: spending past the point where a baht stops earning its place reduces profit, so the solver stops on its own. GMV and Orders are not. More spend almost always buys more revenue and more orders, so an unbounded group would simply spend everything it could.
DataGlass refuses to save that. A GMV or Orders objective needs at least one of:
- a Group Monthly Budget or Group Daily Budget, or
- a constraint.
Without either you get "A GMV or Orders objective needs a bound" and the save is blocked — on the group, on a day, and on a change point alike.
Pair it with a constraint
An objective on its own has no floor — maximizing orders will accept unprofitable ones. Add a constraint to fence it: maximize orders, but never below 15% margin.