[{"data":1,"prerenderedAt":1036},["ShallowReactive",2],{"nav-en":3,"learn-chrome-sg":592,"doc-\u002Fsg\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fconstraints":690,"mdc-k0oses-key":1025},[4],{"title":5,"path":6,"stem":7,"children":8,"page":11},"Docs","\u002Fdocs","docs",[9,81,269,470,553],{"title":10,"draft":11,"path":12,"stem":13,"children":14},"Overview",false,"\u002Fdocs\u002Foverview","docs\u002F01.overview\u002Findex",[15,16,41,66],{"title":10,"path":12,"stem":13,"draft":11},{"title":17,"draft":11,"path":18,"stem":19,"children":20,"page":11},"Get started","\u002Fdocs\u002Foverview\u002Fget-started","docs\u002F01.overview\u002F01.get-started",[21,26,31,36],{"title":22,"path":23,"stem":24,"draft":11,"icon":25},"What is DataGlass","\u002Fdocs\u002Foverview\u002Fget-started\u002Fwhat-is-dataglass","docs\u002F01.overview\u002F01.get-started\u002F01.what-is-dataglass","i-material-symbols-info-rounded",{"title":27,"path":28,"stem":29,"draft":11,"icon":30},"Quick start","\u002Fdocs\u002Foverview\u002Fget-started\u002Fquick-start","docs\u002F01.overview\u002F01.get-started\u002F02.quick-start","i-material-symbols-rocket-launch-rounded",{"title":32,"path":33,"stem":34,"draft":11,"icon":35},"Supported platforms","\u002Fdocs\u002Foverview\u002Fget-started\u002Fsupported-platforms","docs\u002F01.overview\u002F01.get-started\u002F03.supported-platforms","i-material-symbols-grid-view-rounded",{"title":37,"path":38,"stem":39,"draft":11,"icon":40},"Connecting shops","\u002Fdocs\u002Foverview\u002Fget-started\u002Fconnecting-shops","docs\u002F01.overview\u002F01.get-started\u002F04.connecting-shops","i-material-symbols-link-rounded",{"title":42,"draft":11,"path":43,"stem":44,"children":45,"page":11},"Foundations","\u002Fdocs\u002Foverview\u002Ffoundations","docs\u002F01.overview\u002F02.foundations",[46,51,56,61],{"title":47,"path":48,"stem":49,"draft":11,"icon":50},"This shop vs Unified view","\u002Fdocs\u002Foverview\u002Ffoundations\u002Fthis-shop-vs-unified","docs\u002F01.overview\u002F02.foundations\u002F01.this-shop-vs-unified","i-material-symbols-layers-rounded",{"title":52,"path":53,"stem":54,"draft":11,"icon":55},"COGS and their role","\u002Fdocs\u002Foverview\u002Ffoundations\u002Fcogs-and-their-role","docs\u002F01.overview\u002F02.foundations\u002F02.cogs-and-their-role","i-material-symbols-payments-rounded",{"title":57,"path":58,"stem":59,"draft":11,"icon":60},"What's in your margin","\u002Fdocs\u002Foverview\u002Ffoundations\u002Fideal-vs-realized-margin","docs\u002F01.overview\u002F02.foundations\u002F03.ideal-vs-realized-margin","i-material-symbols-compare-arrows-rounded",{"title":62,"path":63,"stem":64,"draft":11,"icon":65},"True ROAS","\u002Fdocs\u002Foverview\u002Ffoundations\u002Ftrue-roas","docs\u002F01.overview\u002F02.foundations\u002F04.true-roas","i-material-symbols-ad-group-rounded",{"title":67,"draft":11,"path":68,"stem":69,"children":70,"page":11},"Explore","\u002Fdocs\u002Foverview\u002Fexplore","docs\u002F01.overview\u002F03.explore",[71,76],{"title":72,"path":73,"stem":74,"draft":11,"icon":75},"Pricing","\u002Fdocs\u002Foverview\u002Fexplore\u002Fpricing","docs\u002F01.overview\u002F03.explore\u002F01.pricing","i-material-symbols-sell-rounded",{"title":77,"path":78,"stem":79,"draft":11,"to":80},"Releases","\u002Fdocs\u002Foverview\u002Fexplore\u002Freleases","docs\u002F01.overview\u002F03.explore\u002F02.releases","\u002Freleases",{"title":82,"draft":11,"path":83,"stem":84,"children":85},"Features","\u002Fdocs\u002Ffeatures","docs\u002F02.features\u002Findex",[86,87,117,167,208,230,250],{"title":10,"path":83,"stem":84,"draft":11},{"title":88,"draft":11,"path":89,"stem":90,"children":91,"page":11},"Shops","\u002Fdocs\u002Ffeatures\u002Fshops","docs\u002F02.features\u002F01.shops",[92,97,102,107,112],{"title":93,"path":94,"stem":95,"draft":11,"icon":96},"Shop overview","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fshop-overview","docs\u002F02.features\u002F01.shops\u002F01.shop-overview","i-material-symbols-space-dashboard-rounded",{"title":98,"path":99,"stem":100,"draft":11,"icon":101},"Understanding the numbers","\u002Fdocs\u002Ffeatures\u002Fshops\u002Funderstanding-the-numbers","docs\u002F02.features\u002F01.shops\u002F02.understanding-the-numbers","i-material-symbols-help-rounded",{"title":103,"path":104,"stem":105,"draft":11,"icon":106},"Attribution & dedup","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fattribution-and-dedup","docs\u002F02.features\u002F01.shops\u002F03.attribution-and-dedup","i-material-symbols-call-merge-rounded",{"title":108,"path":109,"stem":110,"draft":11,"icon":111},"Shop health","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fshop-health","docs\u002F02.features\u002F01.shops\u002F04.shop-health","i-material-symbols-monitor-heart-rounded",{"title":113,"path":114,"stem":115,"draft":11,"icon":116},"Shop settings and sync","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fshop-settings-and-sync","docs\u002F02.features\u002F01.shops\u002F05.shop-settings-and-sync","i-material-symbols-settings-rounded",{"title":118,"draft":11,"path":119,"stem":120,"children":121,"page":11},"Products","\u002Fdocs\u002Ffeatures\u002Fproducts","docs\u002F02.features\u002F02.products",[122,127,132,137,142,147,152,157,162],{"title":123,"path":124,"stem":125,"draft":11,"icon":126},"Product table","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fproduct-table","docs\u002F02.features\u002F02.products\u002F01.product-table","i-material-symbols-deployed-code-rounded",{"title":128,"path":129,"stem":130,"draft":11,"icon":131},"Unified products","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Funified-products","docs\u002F02.features\u002F02.products\u002F02.unified-products","i-material-symbols-dashboard-customize-rounded",{"title":133,"path":134,"stem":135,"draft":11,"icon":136},"Matching and merging products","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fmatching-and-merging","docs\u002F02.features\u002F02.products\u002F03.matching-and-merging","i-material-symbols-merge-rounded",{"title":138,"path":139,"stem":140,"draft":11,"icon":141},"Bulk edit (Excel)","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fbulk-edit-excel","docs\u002F02.features\u002F02.products\u002F04.bulk-edit-excel","i-material-symbols-grid-on-rounded",{"title":143,"path":144,"stem":145,"draft":11,"icon":146},"Inventory and reorder","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Finventory-and-reorder","docs\u002F02.features\u002F02.products\u002F05.inventory-and-reorder","i-material-symbols-inventory-2-rounded",{"title":148,"path":149,"stem":150,"draft":11,"icon":151},"Stock sync","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fstock-sync","docs\u002F02.features\u002F02.products\u002F06.stock-sync","i-material-symbols-sync-rounded",{"title":153,"path":154,"stem":155,"draft":11,"icon":156},"Commission","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fcommission","docs\u002F02.features\u002F02.products\u002F07.commission","i-material-symbols-price-change-rounded",{"title":158,"path":159,"stem":160,"draft":11,"icon":161},"Auto bump","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fauto-bump","docs\u002F02.features\u002F02.products\u002F08.auto-bump","i-material-symbols-trending-up-rounded",{"title":163,"path":164,"stem":165,"draft":11,"icon":166},"Margin spread","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fmargin-spread","docs\u002F02.features\u002F02.products\u002F09.margin-spread","i-material-symbols-straighten-rounded",{"title":168,"draft":11,"path":169,"stem":170,"children":171},"Financial breakdown","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown","docs\u002F02.features\u002F03.financial-breakdown\u002Findex",[172,173,178,183,188,193,198,203],{"title":10,"path":169,"stem":170,"draft":11},{"title":174,"path":175,"stem":176,"draft":11,"icon":177},"Simulate and draft edit","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fsimulate-and-draft-edit","docs\u002F02.features\u002F03.financial-breakdown\u002F01.simulate-and-draft-edit","i-material-symbols-science-rounded",{"title":179,"path":180,"stem":181,"draft":11,"icon":182},"Set margin","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fset-margin","docs\u002F02.features\u002F03.financial-breakdown\u002F02.set-margin","i-material-symbols-tune-rounded",{"title":184,"path":185,"stem":186,"draft":11,"icon":187},"Margin optimizer","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fmargin-optimizer","docs\u002F02.features\u002F03.financial-breakdown\u002F03.margin-optimizer","i-material-symbols-instant-mix-rounded",{"title":189,"path":190,"stem":191,"draft":11,"icon":192},"Price elasticity","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fprice-elasticity","docs\u002F02.features\u002F03.financial-breakdown\u002F04.price-elasticity","i-material-symbols-show-chart-rounded",{"title":194,"path":195,"stem":196,"draft":11,"icon":197},"Product calculator","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fproduct-calculator","docs\u002F02.features\u002F03.financial-breakdown\u002F05.product-calculator","i-material-symbols-calculate-rounded",{"title":199,"path":200,"stem":201,"draft":11,"icon":202},"Product history","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fproduct-history","docs\u002F02.features\u002F03.financial-breakdown\u002F06.product-history","i-material-symbols-history-rounded",{"title":204,"path":205,"stem":206,"draft":11,"icon":207},"Net profit & hidden cost","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fnet-profit-and-hidden-cost","docs\u002F02.features\u002F03.financial-breakdown\u002F07.net-profit-and-hidden-cost","i-material-symbols-visibility-off-rounded",{"title":72,"draft":11,"path":209,"stem":210,"children":211,"page":11},"\u002Fdocs\u002Ffeatures\u002Fpricing","docs\u002F02.features\u002F04.pricing",[212,216,221,226],{"title":213,"path":214,"stem":215,"draft":11,"icon":141},"Price Edit","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Fprice-edit","docs\u002F02.features\u002F04.pricing\u002F01.price-edit",{"title":217,"path":218,"stem":219,"draft":11,"icon":220},"Price increase whitelist","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Fprice-increase-whitelist","docs\u002F02.features\u002F04.pricing\u002F02.price-increase-whitelist","i-lucide-badge-check",{"title":222,"path":223,"stem":224,"draft":11,"icon":225},"Requesting whitelist approval","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Frequest-whitelist-approval","docs\u002F02.features\u002F04.pricing\u002F03.request-whitelist-approval","i-lucide-mail",{"title":227,"path":228,"stem":229,"draft":11,"icon":75},"Price tiers","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Fprice-tiers","docs\u002F02.features\u002F04.pricing\u002F04.price-tiers",{"title":231,"draft":11,"path":232,"stem":233,"children":234},"Campaign simulator","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator","docs\u002F02.features\u002F05.campaign-simulator\u002Findex",[235,236,241,246],{"title":10,"path":232,"stem":233,"draft":11},{"title":237,"path":238,"stem":239,"draft":11,"icon":240},"Campaign phases","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator\u002Fphase-model","docs\u002F02.features\u002F05.campaign-simulator\u002F01.phase-model","i-material-symbols-timeline-rounded",{"title":242,"path":243,"stem":244,"draft":11,"icon":245},"Ads planning","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator\u002Fads-planning","docs\u002F02.features\u002F05.campaign-simulator\u002F02.ads-planning","i-material-symbols-ads-click-rounded",{"title":247,"path":248,"stem":249,"draft":11,"icon":60},"Counterfactual","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator\u002Fcounterfactual","docs\u002F02.features\u002F05.campaign-simulator\u002F03.counterfactual",{"title":251,"draft":11,"path":252,"stem":253,"children":254,"page":11},"Orders","\u002Fdocs\u002Ffeatures\u002Forders","docs\u002F02.features\u002F06.orders",[255,259,264],{"title":251,"path":256,"stem":257,"draft":11,"icon":258},"\u002Fdocs\u002Ffeatures\u002Forders\u002Forders","docs\u002F02.features\u002F06.orders\u002F01.orders","i-material-symbols-receipt-long-rounded",{"title":260,"path":261,"stem":262,"draft":11,"icon":263},"Reconciliation","\u002Fdocs\u002Ffeatures\u002Forders\u002Freconciliation","docs\u002F02.features\u002F06.orders\u002F02.reconciliation","i-material-symbols-balance",{"title":265,"path":266,"stem":267,"draft":11,"icon":268},"Shipping labels","\u002Fdocs\u002Ffeatures\u002Forders\u002Fshipping-labels","docs\u002F02.features\u002F06.orders\u002F03.shipping-labels","i-material-symbols-local-shipping-rounded",{"title":270,"draft":11,"path":271,"stem":272,"children":273},"Growth","\u002Fdocs\u002Fgrowth","docs\u002F03.growth\u002Findex",[274,275,298,362,386],{"title":10,"path":271,"stem":272,"draft":11},{"title":276,"draft":11,"path":277,"stem":278,"children":279,"page":11},"Actions","\u002Fdocs\u002Fgrowth\u002Factions","docs\u002F03.growth\u002F01.actions",[280,285,289,294],{"title":281,"path":282,"stem":283,"draft":11,"icon":284},"What are Actions","\u002Fdocs\u002Fgrowth\u002Factions\u002Fwhat-are-actions","docs\u002F03.growth\u002F01.actions\u002F01.what-are-actions","i-material-symbols-app-spark-rounded",{"title":286,"path":287,"stem":288,"draft":11},"Action flow","\u002Fdocs\u002Fgrowth\u002Factions\u002Faction-flow","docs\u002F03.growth\u002F01.actions\u002F02.action-flow",{"title":290,"path":291,"stem":292,"draft":11,"icon":293},"Deployed and dismissed","\u002Fdocs\u002Fgrowth\u002Factions\u002Fdeployed-and-dismissed","docs\u002F03.growth\u002F01.actions\u002F03.deployed-and-dismissed","i-material-symbols-published-with-changes-rounded",{"title":295,"path":296,"stem":297,"draft":11,"icon":197},"How Results are calculated","\u002Fdocs\u002Fgrowth\u002Factions\u002Fresults","docs\u002F03.growth\u002F01.actions\u002F04.results",{"title":299,"draft":11,"path":300,"stem":301,"children":302,"icon":304},"Action types","\u002Fdocs\u002Fgrowth\u002Faction-types","docs\u002F03.growth\u002F02.action-types\u002Findex",[303,305,310,315,319,324,329,334,339,343,348,353,358],{"title":10,"path":300,"stem":301,"draft":11,"icon":304},"i-material-symbols-format-list-bulleted-rounded",{"title":306,"path":307,"stem":308,"draft":11,"icon":309},"Price buffer","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fprice-buffer","docs\u002F03.growth\u002F02.action-types\u002F01.price-buffer","i-material-symbols-money-range-rounded",{"title":311,"path":312,"stem":313,"draft":11,"icon":314},"Commission adjust","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fcommission-adjust","docs\u002F03.growth\u002F02.action-types\u002F02.commission-adjust","i-material-symbols-percent-discount-rounded",{"title":316,"path":317,"stem":318,"draft":11,"icon":106},"Variant merge","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fvariant-merge","docs\u002F03.growth\u002F02.action-types\u002F03.variant-merge",{"title":320,"path":321,"stem":322,"draft":11,"icon":323},"Target ROAS","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Ftarget-roas","docs\u002F03.growth\u002F02.action-types\u002F04.target-roas","i-material-symbols-target",{"title":325,"path":326,"stem":327,"draft":11,"icon":328},"Bundle Deal","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fbundle-deal","docs\u002F03.growth\u002F02.action-types\u002F05.bundle-deal","i-material-symbols-category-rounded",{"title":330,"path":331,"stem":332,"draft":11,"icon":333},"Product Boost","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fproduct-boost","docs\u002F03.growth\u002F02.action-types\u002F06.product-boost","i-material-symbols-electric-bolt-rounded",{"title":335,"path":336,"stem":337,"draft":11,"icon":338},"Campaign Enrollment","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fcampaign-enrollment","docs\u002F03.growth\u002F02.action-types\u002F07.campaign-enrollment","i-material-symbols-play-arrow-rounded",{"title":340,"path":341,"stem":342,"draft":11,"icon":245},"Ad Adjustment","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fad-adjustment","docs\u002F03.growth\u002F02.action-types\u002F08.ad-adjustment",{"title":344,"path":345,"stem":346,"draft":11,"icon":347},"SEO","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fseo","docs\u002F03.growth\u002F02.action-types\u002F09.seo","i-material-symbols-category-search-rounded",{"title":349,"path":350,"stem":351,"draft":11,"icon":352},"Add-on Deal","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fadd-on-deal","docs\u002F03.growth\u002F02.action-types\u002F10.add-on-deal","i-material-symbols-add-box-rounded",{"title":354,"path":355,"stem":356,"draft":11,"icon":357},"Stock Up","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fstock-up","docs\u002F03.growth\u002F02.action-types\u002F11.stock-up","i-material-symbols-inventory-rounded",{"title":359,"path":360,"stem":361,"draft":11,"icon":323},"TikTok Target ROAS","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Ftiktok-target-roas","docs\u002F03.growth\u002F02.action-types\u002F12.tiktok-target-roas",{"title":363,"draft":11,"path":364,"stem":365,"children":366,"page":11},"Ads","\u002Fdocs\u002Fgrowth\u002Fads","docs\u002F03.growth\u002F03.ads",[367,372,376,381],{"title":368,"path":369,"stem":370,"draft":11,"icon":371},"Reading the Sankey","\u002Fdocs\u002Fgrowth\u002Fads\u002Freading-the-sankey","docs\u002F03.growth\u002F03.ads\u002F01.reading-the-sankey","i-material-symbols-schema-rounded",{"title":373,"path":374,"stem":375,"draft":11,"icon":60},"Cannibalization","\u002Fdocs\u002Fgrowth\u002Fads\u002Fcannibalization","docs\u002F03.growth\u002F03.ads\u002F02.cannibalization",{"title":377,"path":378,"stem":379,"draft":11,"icon":380},"Meta (Facebook) Ads","\u002Fdocs\u002Fgrowth\u002Fads\u002Fmeta-ads","docs\u002F03.growth\u002F03.ads\u002F03.meta-ads","i-simple-icons-meta",{"title":382,"path":383,"stem":384,"draft":11,"icon":385},"CPAS profit","\u002Fdocs\u002Fgrowth\u002Fads\u002Fcpas-profit","docs\u002F03.growth\u002F03.ads\u002F04.cpas-profit","i-material-symbols-hub-rounded",{"title":387,"draft":11,"path":388,"stem":389,"children":390,"icon":65},"Optimization groups","\u002Fdocs\u002Fgrowth\u002Foptimization-groups","docs\u002F03.growth\u002F04.optimization-groups\u002Findex",[391,392,397,402,407,412,416,421,426,431,436,441,445,450,455,460,465],{"title":10,"path":388,"stem":389,"draft":11,"icon":65},{"title":393,"path":394,"stem":395,"draft":11,"icon":396},"Planning your groups","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fplanning-your-groups","docs\u002F03.growth\u002F04.optimization-groups\u002F00.planning-your-groups","i-lucide-boxes",{"title":398,"path":399,"stem":400,"draft":11,"icon":401},"Creating a group","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fcreating-a-group","docs\u002F03.growth\u002F04.optimization-groups\u002F01.creating-a-group","i-lucide-plus",{"title":403,"path":404,"stem":405,"draft":11,"icon":406},"Global settings","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fglobal-settings","docs\u002F03.growth\u002F04.optimization-groups\u002F02.global-settings","i-lucide-settings-2",{"title":408,"path":409,"stem":410,"draft":11,"icon":411},"Budget and limits","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fbudget-and-limits","docs\u002F03.growth\u002F04.optimization-groups\u002F03.budget-and-limits","i-lucide-wallet",{"title":270,"path":413,"stem":414,"draft":11,"icon":415},"\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fgrowth","docs\u002F03.growth\u002F04.optimization-groups\u002F04.growth","i-lucide-trending-up",{"title":417,"path":418,"stem":419,"draft":11,"icon":420},"Choosing an objective","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fchoosing-an-objective","docs\u002F03.growth\u002F04.optimization-groups\u002F05.choosing-an-objective","i-lucide-target",{"title":422,"path":423,"stem":424,"draft":11,"icon":425},"Constraints","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fconstraints","docs\u002F03.growth\u002F04.optimization-groups\u002F06.constraints","i-lucide-shield-check",{"title":427,"path":428,"stem":429,"draft":11,"icon":430},"Distribution","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fallocation-preference","docs\u002F03.growth\u002F04.optimization-groups\u002F07.allocation-preference","i-lucide-sliders-horizontal",{"title":432,"path":433,"stem":434,"draft":11,"icon":435},"Pacing and rebalancing","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fpacing-and-rebalancing","docs\u002F03.growth\u002F04.optimization-groups\u002F08.pacing-and-rebalancing","i-lucide-clock",{"title":437,"path":438,"stem":439,"draft":11,"icon":440},"The month plan","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fmonthly-plan","docs\u002F03.growth\u002F04.optimization-groups\u002F09.monthly-plan","i-lucide-calendar-days",{"title":442,"path":443,"stem":444,"draft":11,"icon":435},"The Timeline schedule","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fschedule","docs\u002F03.growth\u002F04.optimization-groups\u002F10.schedule",{"title":446,"path":447,"stem":448,"draft":11,"icon":449},"Automation rules","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fautomation","docs\u002F03.growth\u002F04.optimization-groups\u002F11.automation","i-lucide-workflow",{"title":451,"path":452,"stem":453,"draft":11,"icon":454},"Managing campaigns in a group","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fmanaging-campaigns","docs\u002F03.growth\u002F04.optimization-groups\u002F12.managing-campaigns","i-lucide-list-checks",{"title":456,"path":457,"stem":458,"draft":11,"icon":459},"How the run works","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fdaily-run","docs\u002F03.growth\u002F04.optimization-groups\u002F13.daily-run","i-lucide-refresh-cw",{"title":461,"path":462,"stem":463,"draft":11,"icon":464},"When the ads model is updating","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fmodel-training","docs\u002F03.growth\u002F04.optimization-groups\u002F14.model-training","i-lucide-brain-circuit",{"title":466,"path":467,"stem":468,"draft":11,"icon":469},"Glossary","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fglossary","docs\u002F03.growth\u002F04.optimization-groups\u002F16.glossary","i-lucide-book-a",{"title":471,"draft":11,"path":472,"stem":473,"children":474},"AI and API","\u002Fdocs\u002Fai-and-api","docs\u002F04.ai-and-api\u002Findex",[475,476,518],{"title":10,"path":472,"stem":473,"draft":11},{"title":477,"draft":11,"path":478,"stem":479,"children":480,"icon":482},"AI assistants","\u002Fdocs\u002Fai-and-api\u002Fassistants","docs\u002F04.ai-and-api\u002F01.assistants\u002Findex",[481,483,488,493,498,503,508,513],{"title":10,"path":478,"stem":479,"draft":11,"icon":482},"i-material-symbols-smart-toy-rounded",{"title":484,"path":485,"stem":486,"draft":11,"icon":487},"Connect to ChatGPT","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fconnect-chatgpt","docs\u002F04.ai-and-api\u002F01.assistants\u002F01.connect-chatgpt","i-simple-icons-openai",{"title":489,"path":490,"stem":491,"draft":11,"icon":492},"Connect to Claude","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fconnect-claude","docs\u002F04.ai-and-api\u002F01.assistants\u002F02.connect-claude","i-simple-icons-claude",{"title":494,"path":495,"stem":496,"draft":11,"icon":497},"Native playbooks","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fplaybooks","docs\u002F04.ai-and-api\u002F01.assistants\u002F03.playbooks","i-material-symbols-route-rounded",{"title":499,"path":500,"stem":501,"draft":11,"icon":502},"Prompt library","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fprompt-library","docs\u002F04.ai-and-api\u002F01.assistants\u002F04.prompt-library","i-material-symbols-forum-rounded",{"title":504,"path":505,"stem":506,"draft":11,"icon":507},"MCP tool catalog","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Ftool-catalog","docs\u002F04.ai-and-api\u002F01.assistants\u002F05.tool-catalog","i-material-symbols-build-rounded",{"title":509,"path":510,"stem":511,"draft":11,"icon":512},"Permissions and safety","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fusage-and-safety","docs\u002F04.ai-and-api\u002F01.assistants\u002F06.usage-and-safety","i-material-symbols-health-and-safety-rounded",{"title":514,"path":515,"stem":516,"draft":11,"icon":517},"Worked MCP examples","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fworked-examples","docs\u002F04.ai-and-api\u002F01.assistants\u002F07.worked-examples","i-material-symbols-menu-book-rounded",{"title":519,"draft":11,"path":520,"stem":521,"children":522,"page":11},"API","\u002Fdocs\u002Fai-and-api\u002Fapi","docs\u002F04.ai-and-api\u002F02.api",[523,528,533,538,543,548],{"title":524,"path":525,"stem":526,"draft":11,"icon":527},"Getting started","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fgetting-started","docs\u002F04.ai-and-api\u002F02.api\u002F01.getting-started","i-material-symbols-key-rounded",{"title":529,"path":530,"stem":531,"draft":11,"icon":532},"API security & limits","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fsecurity","docs\u002F04.ai-and-api\u002F02.api\u002F02.security","i-material-symbols-verified-user-rounded",{"title":534,"path":535,"stem":536,"draft":11,"icon":537},"Endpoints: products & orders","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fproducts-and-orders","docs\u002F04.ai-and-api\u002F02.api\u002F03.products-and-orders","i-material-symbols-package-2-rounded",{"title":539,"path":540,"stem":541,"draft":11,"icon":542},"Endpoints: financial breakdown","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Ffinancial-breakdown","docs\u002F04.ai-and-api\u002F02.api\u002F04.financial-breakdown","i-material-symbols-account-balance-rounded",{"title":544,"path":545,"stem":546,"draft":11,"icon":547},"Endpoints: raw platform data","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fplatform-data","docs\u002F04.ai-and-api\u002F02.api\u002F05.platform-data","i-material-symbols-database-rounded",{"title":549,"path":550,"stem":551,"draft":11,"icon":552},"Endpoints: Actions & recommendations","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Frecommendations","docs\u002F04.ai-and-api\u002F02.api\u002F06.recommendations","i-material-symbols-recommend-rounded",{"title":554,"draft":11,"path":555,"stem":556,"children":557},"Administration","\u002Fdocs\u002Fadministration","docs\u002F05.administration\u002Findex",[558,559,579],{"title":10,"path":555,"stem":556,"draft":11},{"title":560,"draft":11,"path":561,"stem":562,"children":563,"page":11},"Team and access","\u002Fdocs\u002Fadministration\u002Fteam-and-access","docs\u002F05.administration\u002F01.team-and-access",[564,569,574],{"title":565,"path":566,"stem":567,"draft":11,"icon":568},"Team & roles","\u002Fdocs\u002Fadministration\u002Fteam-and-access\u002Fteam-and-roles","docs\u002F05.administration\u002F01.team-and-access\u002F01.team-and-roles","i-material-symbols-group-rounded",{"title":570,"path":571,"stem":572,"draft":11,"icon":573},"Adding teammates","\u002Fdocs\u002Fadministration\u002Fteam-and-access\u002Fadding-teammates","docs\u002F05.administration\u002F01.team-and-access\u002F02.adding-teammates","i-material-symbols-person-add-rounded",{"title":575,"path":576,"stem":577,"draft":11,"icon":578},"Managing access","\u002Fdocs\u002Fadministration\u002Fteam-and-access\u002Fmanaging-access","docs\u002F05.administration\u002F01.team-and-access\u002F03.managing-access","i-material-symbols-admin-panel-settings-rounded",{"title":580,"draft":11,"path":581,"stem":582,"children":583,"page":11},"Account","\u002Fdocs\u002Fadministration\u002Faccount","docs\u002F05.administration\u002F02.account",[584,588],{"title":585,"path":586,"stem":587,"draft":11,"icon":385},"Open Platform","\u002Fdocs\u002Fadministration\u002Faccount\u002Fopen-platform","docs\u002F05.administration\u002F02.account\u002F01.open-platform",{"title":589,"path":590,"stem":591,"draft":11,"icon":258},"VAT","\u002Fdocs\u002Fadministration\u002Faccount\u002Fvat","docs\u002F05.administration\u002F02.account\u002F02.vat",{"id":593,"docsPage":594,"docsSidebar":605,"docsTabs":607,"extension":609,"footer":610,"header":669,"localeSwitch":685,"meta":687,"stem":688,"__hash__":689},"chrome_en\u002Fen\u002Fchrome.yml",{"onThisPage":595,"copyPage":596,"copied":597,"copyMenu":598,"copyMarkdownLink":599,"linkCopied":600,"viewMarkdown":601,"openChatGpt":602,"openClaude":603,"platforms":604},"On this page","Copy page","Copied","More copy options","Copy Markdown link","Copied to clipboard","View as Markdown","Open in ChatGPT","Open in Claude","Works on",{"label":606},"Docs sidebar",{"ariaLabel":608},"Docs sections","yml",{"ariaLabel":611,"columns":612,"legal":649,"quote":650,"askAi":653},"Footer",[613,625,631,639],{"label":67,"children":614},[615,616,619,622],{"label":5,"to":6},{"label":617,"to":618},"Use cases","\u002Fuse-cases",{"label":620,"to":621},"Training","\u002Ftraining",{"label":623,"to":624},"Resources","\u002Fresources",{"label":626,"children":627},"Build",[628,629,630],{"label":477,"to":478},{"label":519,"to":525},{"label":585,"to":586},{"label":632,"children":633},"Updates",[634,635],{"label":77,"to":80},{"label":636,"to":637,"target":638},"Blog","https:\u002F\u002Fwww.dataglasslabs.com\u002Fblog","_blank",{"label":640,"children":641},"DataGlass",[642,645,648],{"label":643,"to":644,"target":638},"Open DataGlass","https:\u002F\u002Fapp.dataglasslabs.com",{"label":646,"to":647,"target":638},"Website","https:\u002F\u002Fwww.dataglasslabs.com",{"label":72,"to":73},"DataGlass Labs. All rights reserved.",{"text":651,"caption":652},"Measure what you keep, and then grow what you measure.","The DataGlass team",{"label":654,"prompt":655,"assistants":656},"Ask AI about DataGlass","I want to learn how to use DataGlass, a decision engine for Shopee, Lazada and TikTok Shop sellers that optimizes ads, pricing and promotions for true profit. Use web search to read the DataGlass docs at https:\u002F\u002Flearn.dataglasslabs.com\u002Fdocs (with an agent-readable summary at https:\u002F\u002Flearn.dataglasslabs.com\u002Fllms.txt), then explain what DataGlass does, how to get started and which guides to read first.",[657,661,665],{"label":658,"icon":659,"url":660},"ChatGPT","chatgpt","https:\u002F\u002Fchatgpt.com\u002F?prompt={prompt}",{"label":662,"icon":663,"url":664},"Claude","claude","https:\u002F\u002Fclaude.ai\u002Fnew?q={prompt}",{"label":666,"icon":667,"url":668},"Perplexity","perplexity","https:\u002F\u002Fwww.perplexity.ai\u002Fsearch?q={prompt}",{"sections":670,"navLabel":683,"openApp":643,"search":684},[671,674,675,677,679,681],{"key":672,"label":673},"home","Home",{"key":7,"label":5},{"key":676,"label":617},"use-cases",{"key":678,"label":620},"training",{"key":680,"label":77},"releases",{"key":682,"label":623},"resources","Sections","Start searching",{"label":686},"Region and language",{},"en\u002Fchrome","mobUs3s2Zj3jKhQlnWk_tray3mh7L0ptp0ZGYXlK4NA",{"id":691,"title":422,"body":692,"description":1015,"draft":11,"draftReason":1016,"extension":1017,"layout":1016,"meta":1018,"navigation":1019,"path":423,"platforms":1020,"rawbody":1022,"seo":1023,"stem":424,"__hash__":1024},"docs_en\u002Fdocs\u002F03.growth\u002F04.optimization-groups\u002F06.constraints.md",{"type":693,"value":694,"toc":1004},"minimark",[695,708,711,716,763,769,773,874,877,881,891,897,907,920,926,930,954,958,961,965,997],[696,697,698,702,703,707],"p",{},[699,700,701],"strong",{},"A constraint is the minimum performance a campaign must reach to receive budget."," The ",[704,705,706],"a",{"href":418},"objective"," says what to maximize; the constraint says who qualifies for the money. One constraint per group, and it applies to every member.",[696,709,710],{},"A campaign that stays below the number receives nothing, and its budget goes to the campaigns that stay above it.",[712,713,715],"h2",{"id":714},"how-to-use-it","How to use it",[717,718,719,734,756],"ol",{},[720,721,722,723,726,727,729,730,733],"li",{},"In the ",[699,724,725],{},"Strategy"," box on ",[704,728,403],{"href":404},", press ",[699,731,732],{},"Add a rule",".",[720,735,736,737,741,742,741,746,741,749,752,753,733],{},"Finish the sentence: ",[738,739,740],"em",{},"Fund a campaign only if its"," ",[743,744,745],"span",{},"metric",[738,747,748],{},"is at least",[743,750,751],{},"number",". ACOS reads ",[738,754,755],{},"is at most",[720,757,758,759,762],{},"Save. ",[699,760,761],{},"Remove rule"," takes it off again.",[696,764,765,766],{},"With no rule, the box reads ",[738,767,768],{},"No rule. Any campaign can be funded.",[712,770,772],{"id":771},"the-options","The options",[774,775,776,792],"table",{},[777,778,779],"thead",{},[780,781,782,786,789],"tr",{},[783,784,785],"th",{},"Constraint",[783,787,788],{},"Sets",[783,790,791],{},"Reads as",[793,794,795,809,822,834,849,862],"tbody",{},[780,796,797,803,806],{},[798,799,800],"td",{},[699,801,802],{},"None",[798,804,805],{},"No guardrail",[798,807,808],{},"Every campaign can receive budget, whatever its performance",[780,810,811,816,819],{},[798,812,813],{},[699,814,815],{},"Platform ROAS",[798,817,818],{},"A floor",[798,820,821],{},"\"Never below 5× platform-reported ROAS\"",[780,823,824,829,831],{},[798,825,826],{},[699,827,828],{},"Contribution ROAS",[798,830,818],{},[798,832,833],{},"\"Never below 2× on revenue after fees and COGS\"",[780,835,836,841,843],{},[798,837,838],{},[699,839,840],{},"Profit-adjusted ROAS",[798,842,818],{},[798,844,845,846,848],{},"\"Never below 0.3× ",[704,847,62],{"href":63},"\"",[780,850,851,856,859],{},[798,852,853],{},[699,854,855],{},"ACOS",[798,857,858],{},"A ceiling",[798,860,861],{},"\"Never above 20% of sales spent on ads\"",[780,863,864,869,871],{},[798,865,866],{},[699,867,868],{},"Profit margin",[798,870,818],{},[798,872,873],{},"\"Never below 15% margin\"",[696,875,876],{},"ACOS and profit margin are shares, so their values sit between 0 and 1. The ROAS variants are multiples above 0.",[712,878,880],{"id":879},"what-the-metrics-mean","What the metrics mean",[696,882,883,886,887,890],{},[699,884,885],{},"ACOS — advertising cost of sale."," Ad spend ÷ ad revenue, as a percentage. It's ROAS upside down: 20% ACOS is the same as 5× ROAS. Sellers reach for it because it reads like a budget rule — ",[738,888,889],{},"spend at most 20 satang of every sales baht on ads",". It says nothing about profit, because it never looks at fees or COGS.",[696,892,893,896],{},[699,894,895],{},"Platform ROAS."," What the platform reports: ad revenue ÷ ad spend. Easy to compare against Seller Centre, but it counts GMV as if you kept all of it. A 4× platform ROAS is a loss at a 20% margin.",[696,898,899,902,903,906],{},[699,900,901],{},"Contribution ROAS."," Revenue after platform fees, COGS, and shipping, divided by ad spend. It answers ",[738,904,905],{},"what did this campaign contribute before its own ad cost?"," Break-even is 1×.",[696,908,909,912,913,915,916,919],{},[699,910,911],{},"Profit-adjusted ROAS (PA-ROAS)."," The same as ",[704,914,62],{"href":63},": net profit — after ad spend — divided by ad spend. Because the spend is already subtracted, ",[699,917,918],{},"break-even is 0, not 1",". At 0.3× you keep 30 satang of profit per baht of ad spend.",[696,921,922,925],{},[699,923,924],{},"Profit margin."," Contribution profit as a share of revenue. Use it when you think in margin rather than in multiples.",[712,927,929],{"id":928},"which-one-to-use","Which one to use",[931,932,933,942,947],"ul",{},[720,934,935,937,938,941],{},[699,936,868],{}," or ",[699,939,940],{},"PA-ROAS"," if COGS is on file. They're the only two that fence actual profit.",[720,943,944,946],{},[699,945,828],{}," when you want a fee-aware floor but prefer a multiple.",[720,948,949,937,951,953],{},[699,950,855],{},[699,952,815],{}," when you're matching a target you already agreed elsewhere, or when COGS coverage is thin.",[712,955,957],{"id":956},"how-it-reaches-the-platform","How it reaches the platform",[696,959,960],{},"DataGlass converts your constraint into the target ROAS it writes on each manual campaign, using that campaign's expected margin. A margin-style constraint on a thin-margin product therefore demands a much higher platform target ROAS than on a fat-margin one — which is the point.",[712,962,964],{"id":963},"when-it-goes-wrong","When it goes wrong",[931,966,967,977,987],{},[720,968,969,972,973,976],{},[699,970,971],{},"Too tight and the day is unsolvable."," The run reports ",[699,974,975],{},"Infeasible"," and nothing is pushed. Loosen the value or raise the group's budget.",[720,978,979,982,983,986],{},[699,980,981],{},"Too tight and nobody qualifies."," The allocation panel says ",[738,984,985],{},"\"{n} of {total} campaigns get nothing under this policy.\""," That is the constraint working; it is only a problem if you meant to fund them.",[720,988,989,992,993,996],{},[699,990,991],{},"A brand-new campaign cannot be judged."," Until it has history its constraint readiness reads ",[738,994,995],{},"not evaluable",", and it is funded from cold start instead of being cut.",[998,999,1001],"callout",{"icon":1000},"i-lucide-info",[696,1002,1003],{},"A rule needs its number. A rule with no number blocks the save.",{"title":1005,"searchDepth":1006,"depth":1006,"links":1007},"",3,[1008,1010,1011,1012,1013,1014],{"id":714,"depth":1009,"text":715},2,{"id":771,"depth":1009,"text":772},{"id":879,"depth":1009,"text":880},{"id":928,"depth":1009,"text":929},{"id":956,"depth":1009,"text":957},{"id":963,"depth":1009,"text":964},"ACOS, the three ROAS variants, and profit margin — what each one means and which to use as a guardrail.",null,"md",{},{"icon":425},[1021],"shopee","---\ntitle: Constraints\ndescription: ACOS, the three ROAS variants, and profit margin — what each one means and which to use as a guardrail.\nplatforms:\n  - shopee\nnavigation:\n  icon: i-lucide-shield-check\n---\n\n**A constraint is the minimum performance a campaign must reach to receive budget.** The [objective](\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fchoosing-an-objective) says what to maximize; the constraint says who qualifies for the money. One constraint per group, and it applies to every member.\n\nA campaign that stays below the number receives nothing, and its budget goes to the campaigns that stay above it.\n\n## How to use it\n\n1. In the **Strategy** box on [Global settings](\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fglobal-settings), press **Add a rule**.\n2. Finish the sentence: *Fund a campaign only if its* [metric] *is at least* [number]. ACOS reads *is at most*.\n3. Save. **Remove rule** takes it off again.\n\nWith no rule, the box reads *No rule. Any campaign can be funded.*\n\n## The options\n\n| Constraint | Sets | Reads as |\n| --- | --- | --- |\n| **None** | No guardrail | Every campaign can receive budget, whatever its performance |\n| **Platform ROAS** | A floor | \"Never below 5× platform-reported ROAS\" |\n| **Contribution ROAS** | A floor | \"Never below 2× on revenue after fees and COGS\" |\n| **Profit-adjusted ROAS** | A floor | \"Never below 0.3× [True ROAS](\u002Fdocs\u002Foverview\u002Ffoundations\u002Ftrue-roas)\" |\n| **ACOS** | A ceiling | \"Never above 20% of sales spent on ads\" |\n| **Profit margin** | A floor | \"Never below 15% margin\" |\n\nACOS and profit margin are shares, so their values sit between 0 and 1. The ROAS variants are multiples above 0.\n\n## What the metrics mean\n\n**ACOS — advertising cost of sale.** Ad spend ÷ ad revenue, as a percentage. It's ROAS upside down: 20% ACOS is the same as 5× ROAS. Sellers reach for it because it reads like a budget rule — *spend at most 20 satang of every sales baht on ads*. It says nothing about profit, because it never looks at fees or COGS.\n\n**Platform ROAS.** What the platform reports: ad revenue ÷ ad spend. Easy to compare against Seller Centre, but it counts GMV as if you kept all of it. A 4× platform ROAS is a loss at a 20% margin.\n\n**Contribution ROAS.** Revenue after platform fees, COGS, and shipping, divided by ad spend. It answers *what did this campaign contribute before its own ad cost?* Break-even is 1×.\n\n**Profit-adjusted ROAS (PA-ROAS).** The same as [True ROAS](\u002Fdocs\u002Foverview\u002Ffoundations\u002Ftrue-roas): net profit — after ad spend — divided by ad spend. Because the spend is already subtracted, **break-even is 0, not 1**. At 0.3× you keep 30 satang of profit per baht of ad spend.\n\n**Profit margin.** Contribution profit as a share of revenue. Use it when you think in margin rather than in multiples.\n\n## Which one to use\n\n- **Profit margin** or **PA-ROAS** if COGS is on file. They're the only two that fence actual profit.\n- **Contribution ROAS** when you want a fee-aware floor but prefer a multiple.\n- **ACOS** or **Platform ROAS** when you're matching a target you already agreed elsewhere, or when COGS coverage is thin.\n\n## How it reaches the platform\n\nDataGlass converts your constraint into the target ROAS it writes on each manual campaign, using that campaign's expected margin. A margin-style constraint on a thin-margin product therefore demands a much higher platform target ROAS than on a fat-margin one — which is the point.\n\n## When it goes wrong\n\n- **Too tight and the day is unsolvable.** The run reports **Infeasible** and nothing is pushed. Loosen the value or raise the group's budget.\n- **Too tight and nobody qualifies.** The allocation panel says *\"{n} of {total} campaigns get nothing under this policy.\"* That is the constraint working; it is only a problem if you meant to fund them.\n- **A brand-new campaign cannot be judged.** Until it has history its constraint readiness reads *not evaluable*, and it is funded from cold start instead of being cut.\n\n::callout{icon=\"i-lucide-info\"}\nA rule needs its number. A rule with no number blocks the save.\n::\n",{"title":422,"description":1015},"29Etp-Hbm1DCw67xeNOhTsuGK_9SLIAH5jgqrDaDx-w",{"data":1026,"body":1027},{},{"type":1028,"children":1029},"root",[1030],{"type":1031,"tag":696,"props":1032,"children":1033},"element",{},[1034],{"type":1035,"value":1015},"text",1792785253726]