↳ Solutions · Shopee Ads optimization

Shopee Ads optimization: set Target ROAS, budget and timing from profit

Updated 8 October 2026 · Shopee Thailand · fee data v2026.08.25

Across 9.11 million Shopee ad clicks on 80+ Thai shops between February and August 2026, the price of a click moved by 2.01× depending on the hour it was bought: THB 3.36 in the evening, THB 6.75 just after midnight. Over the same hours conversion rate moved by 1.23× and click-through rate by 1.14×.[1] Buyers behave almost the same all day. What changes is what the auction charges to reach them.

That fact reorganises Shopee Ads optimization. Shopee’s own automation, Auto Bidding, GMV Max and Auto Boost, is good at the part that is about buyers: which keyword, which placement, which shopper. It cannot do the part that is about your money, because it does not know your cost of goods, your category fee or the voucher you fund.[4][5] That part comes down to three settings: the Target ROAS, the daily budget and the hours you buy. All three are left to you.

The claim of this page is that optimizing Shopee Ads means choosing those three numbers from your contribution margin, and that nothing in Seller Center computes any of them. What would make it wrong: a shop whose margin is the same on every SKU and whose campaigns never spend their whole budget. In that shop, Shopee’s target-chasing is close to optimal on its own.

What Shopee’s automation optimizes, and what it cannot see

Every automated Shopee Ads product takes a goal from you and optimizes delivery toward it. The goal is always stated in revenue. Shopee defines ROAS as the sales your ads generate for the budget spent.[4] The delivery choices are ones the platform is genuinely better placed to make than a seller.

Shopee’s automated ad products, by what they optimize
Shopee toolWhat you setWhat Shopee optimizesWhat it does not know
Auto Bidding (product ads)ROAS target, daily budgetKeywords and bids toward your ROAS targetYour COGS, fees and vouchers, so whether the target makes money
GMV Max, custom ROASTarget ROAS, budgetPlacement, audience and bids for GMV at your targetThe same, plus which SKUs in the campaign carry margin
GMV Max, AutoBudgetGMV within the budget; shows an estimated ROASEverything above, and there is no target protecting margin
Auto BoostBudgetPlacement and bids, tuned over about two weeksEverything above

From the Shopee Ads Learning Centre [4][5]. A product cannot run GMV Max Auto and GMV Max custom ROAS at the same time.

Read the last column. The tools are not wrong; they answer a different question. Shopee earns commission on GMV, so a GMV objective is the natural one for it to offer. Turning it into your objective is a translation only someone holding your cost data can make. If you run GMV Max on a custom target, read when ROAS Protection actually protects profit before you set it.

Setting 1: Target ROAS from margin, and why break-even is not enough

Take one SKU all the way through. A non-Mall fashion item: the buyer pays THB 550, landed cost is THB 280, and the fee lines are Shopee Thailand’s published rates effective 4 August 2026.[2][3]

One SKU, from price to Target ROAS
Buyer pays550.00
− cost of goods−280.00
− Sale Transaction Fee, 17.12%−94.16
− Payment Transaction Fee, 3.21%−17.66
− Platform Infrastructure Fee−1.07
− shop voucher, averaged per order−13.50
− shipping the shop absorbs−25.00
Contribution margin118.61
m = 118.61 ÷ 55021.6%
Break-even ROAS = 1 ÷ m4.64
Break-even as the dashboard reads it, if Shopee credits 1.4× the GMV the ad caused (a = 1.4)6.49
Profit-maximizing target, adding the auction and diminishing-return markups (e = 1.5, d = 0.30): 6.49 × 1.667 ÷ 0.70≈ 15.5

Three numbers, three meanings. 4.64 is the ROAS at which the ad covers its own cost and nothing else. 6.49 is the same line once you stop assuming that every order Shopee credits to the ad was caused by it. eBay’s large field experiment found returns on branded paid search close to zero for exactly this reason.[7] About 15.5 is the target that maximizes profit on the parameters of our technical note. Winning more clicks raises the price of the clicks you were already winning, and the last click is worth less than the average one.[6]

The gap between 4.64 and 15.5 matters because the profit curve is lopsided around break-even. Here is the worked model behind the note: a 20%-margin product, break-even 5.00, slack budget, with only the auction markup applied.

Daily profit by entered Target ROAS, 20%-margin model campaign
Target ROAS enteredDaily profit (THB)
3.00−6,173
4.00−1,504
5.000
6.32+632
8.33+800 (peak)
10.00+761
12.00+675

Source: DataGlass, “The Target ROAS that maximizes profit” [6]. Click worth THB 10, elasticity of click supply 1.5. The peak sits at 5.00 × (1 + 1/1.5) = 8.33; attribution and diminishing returns push it higher.

Above break-even, a mis-set target gives up a bounded profit. Below it, nothing bounds the loss.

Setting 2: the budget, and how to tell which lever is binding

Shopee turns your Target ROAS and your daily budget into one bid ceiling, and only one of them binds at any moment.[6] When the target binds, the campaign reports a ROAS equal to the target and leaves budget unspent. When the budget binds, it spends all of it and reports a ROAS above the target. Most sellers read that as headroom. It means the target is doing nothing.

The one-line diagnostic
Entered Target ROAS ÷ reported ROAS
Equal to 1.00: the target sets the bid, so change the target= 1.00
Below 1.00: the budget sets the bid, so change the budget< 1.00
Example: 5.00 ÷ 6.32. The campaign bids at 79% of the price its target allows0.79

The budget is also the only Shopee setting denominated in money spent rather than value claimed, so it is the only one that bounds a loss. In the same model, at an entered target of 4.00, below break-even, a THB 2,400 daily budget turns a loss of THB 1,504 into a profit of THB 631, a swing of THB 2,135 a day.[6] Size it from the per-order ceiling, not from a round number. The most you can pay for an order the ad actually caused is the contribution margin itself, THB 118.61 on the SKU above. How much to spend on Shopee Ads derives the daily figure from it.

Setting 3: the hours you buy

The third setting has no field in Shopee’s interface. Here is what a click cost by time of day on our panel: single-product campaigns only, double-date campaign days excluded.[1]

Shopee Thailand per-click economics by daypart, 1 Feb – 16 Aug 2026
WindowCPC (THB)ConversionBasket (THB)MarginProfit/click (THB)POAS
00:00–01:596.7510.40%64929.3%13.012.93
02:00–07:594.458.46%45626.0%5.592.25
08:00–11:594.1810.41%46226.7%8.653.07
12:00–16:593.969.95%48727.9%9.573.42
17:00–19:593.939.04%46927.4%7.712.96
20:00–23:593.369.42%46827.7%8.843.63

Profit per click = margin × basket × conversion rate − CPC. POAS = contribution ÷ ad spend, so it breaks even at 1.0. Source: DataGlass Marketplace Benchmarks, panel shopee-click-economics [1].

Two things follow. First, every window clears break-even by more than 2×, so raising the Target ROAS does not drop the bad hours. It drops the lowest-ranked auctions wherever in the day they sit. Separating the evening from the small hours takes a second campaign or an explicit schedule.[1] Second, the evening is best per baht (POAS 3.63) and midnight is best per click (THB 13.01). Which one you favour depends on whether your campaign is budget-bound or target-bound, which is the diagnostic above.

How big is the prize? Weighting each window by its clicks, the panel spent THB 38.2M for THB 118.6M of contribution: a blended POAS of 3.105 against 3.634 in the best window. Moving every baht into the evening could therefore have added at most about 17% contribution per baht. That ceiling is almost certainly loose, because concentrating spend would raise the evening price.[1]

No Target ROAS separates the good hours from the bad. The clock needs a schedule, not a different number.

How to optimize Shopee Ads, step by step

  1. 1

    Compute contribution margin per SKU

    The price the buyer pays, minus cost of goods, the category Sale Transaction Fee, the 3.21% Payment Transaction Fee, the per-order Platform Infrastructure Fee, the averaged shop voucher and the shipping you absorb.[3] Split any campaign that mixes SKUs with very different margins; it has no single correct target.

  2. 2

    Set the Target ROAS above break-even, not at it

    Break-even is 1 ÷ margin. Mark it up at least for the share of attributed orders the ad did not cause. The free break-even ROAS calculator does the arithmetic.

  3. 3

    Run the diagnostic every week

    Divide the entered target by the reported ROAS. Below 1.00 the budget is binding, so move the budget. At 1.00 the target is binding, so move the target.

  4. 4

    Size the budget from the per-order ceiling

    Raise the daily cap while the realised cost per attributed order stays under the ceiling, and stop when it crosses. The number it lands on is the budget.

  5. 5

    Treat the clock as its own decision

    Use a second campaign, or a schedule that opens the day on a smaller budget and steps up into the hours your own data shows are cheaper.

  6. 6

    Plan double dates and paydays separately

    On campaign days the daypart ranking inverts, so an ordinary-day schedule does not apply.[1]

  7. 7

    Leave new campaigns alone through the learning period

    Shopee asks sellers not to change ad settings during the learning period, roughly the first 14 days.[4]

  8. 8

    Re-derive everything after a fee change

    On 4 August 2026, 1,382 of 1,437 Shopee leaf categories rose 2 percentage points before VAT.[2] Every target and budget set before that date is too loose.

How this looks operationally

DataGlass runs steps 1 to 6 from your own settlement data. You put the campaigns you want managed into a group with a spend cap. Each night the system forecasts every campaign’s demand for the next day, solves the budget split that maximizes expected profit with a limit on the downside, and writes the budgets to Shopee through the official Open API. It can step budgets up through the day, holds separate budgets for sale days, and proposes a margin-based Target ROAS that you apply or revert in one click. Every change is logged with its inputs, and switching the shop to read-only stops all writes.

Where this breaks down

  • The worked SKU and the profit-by-target sweep are arithmetic on stated assumptions, not measurements from any shop.
  • The daypart panel is observational. It reports what spend already in each window averaged; it does not measure what moving spend there would do, and the gain from acting on the clock is unmeasured.
  • The panel is 80+ shops connected to DataGlass, single-product campaigns, Thailand only, February to August 2026. The very largest advertisers showed flatter intraday spreads and are under-represented.
  • Attribution inflation cannot be read from Seller Center. It takes a holdout or geo test, and every attribution-adjusted number inherits its error.
  • Shopee asks sellers not to change settings during a campaign’s learning period. Daily budget changes trade some of that stability for control, and Shopee does not publish how much it costs.

↳ Methodology

Fee lines come from the DataGlass Marketplace Fee Dataset (Thailand, v2026.08.25), transcribed from Shopee Thailand’s dated fee documentation and released under CC BY 4.0.

Daypart figures come from the DataGlass Marketplace Benchmarks panel shopee-click-economics: 333.9M impressions and 9.11M clicks on 80+ Shopee Thailand shops, single-product campaigns, 1 February to 16 August 2026, double-date days excluded, at least eight shops behind every published cell. Margin is each campaign’s own advertised product’s realised contribution margin, excluding ad cost.

The Target ROAS markups and the budget diagnostic are derived in the technical note CTR & Target ROAS under CPM and CPC (18 August 2026). The values a = 1.4, e = 1.5 and d = 0.30 are the note’s illustrative mid-market case.

Sources

  1. DataGlass Marketplace Benchmarks, panel shopee-click-economics. CPC, conversion, basket, margin and POAS by daypart, Shopee Thailand, Feb–Aug 2026. CC BY 4.0. /research/marketplace-benchmarks; write-up: Shopee ad benchmarks 2026.
  2. DataGlass Marketplace Fee Dataset, Thailand, v2026.08.25. Dated change log: 1,382 of 1,437 Shopee leaf categories up 2 percentage points before VAT on 4 August 2026. /research/marketplace-fees.
  3. Shopee Thailand, Fee Policy: Sale Transaction Fee by category (7.49–17.12% non-Mall, VAT included) and Payment Transaction Fee of 3.21%. help.shopee.co.th.
  4. Shopee Ads Thailand, ROAS definition, Auto Bidding and the learning period. ads.shopee.co.th.
  5. Shopee Ads Learning Centre, GMV Max Ads: Auto and custom ROAS bidding. ads.shopee.sg.
  6. DataGlass, technical note “CTR & Target ROAS under CPM and CPC” (18 August 2026), with the readable versions How Shopee ads bidding works and The Target ROAS that maximizes profit. PDF.
  7. Blake, T., Nosko, C. and Tadelis, S. (2015). Consumer Heterogeneity and Paid Search Effectiveness: A Large-Scale Field Experiment. Econometrica 83(1), 155–174. doi.org/10.3982/ECTA12423.

Let the three settings be computed every night.

DataGlass computes break-even per SKU from your settlement data and sets Shopee budgets on profit, with every number it used shown beside each change. First 14 days free.

Get started for free

Stop guessing. Start deploying.

Join the sellers using DataGlass to turn shop data into the next profit-maximizing action.