{"id":349,"date":"2025-12-19T11:52:15","date_gmt":"2025-12-19T11:52:15","guid":{"rendered":"https:\/\/gtaroads.com\/blog\/?p=349"},"modified":"2025-12-23T08:26:47","modified_gmt":"2025-12-23T08:26:47","slug":"how-to-set-up-a-waterfall-monetization-model","status":"publish","type":"post","link":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/","title":{"rendered":"How to Set Up a Waterfall Monetization Model"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A monetization waterfall isn\u2019t some \u201clegacy relic\u201d \u2014 it\u2019s still a very practical engineering approach when you want hard control over the order in which demand sources get a chance to buy an impression: first the most profitable and predictable sources, then broader but less guaranteed ones, and finally rescue options so inventory doesn\u2019t go unsold.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Below is a hands-on blueprint for building a waterfall around direct deals, RTB, and tier-2 networks, so you can:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>avoid revenue loss from a bad priority order,<\/li>\n\n\n\n<li>prevent crashes during downtime,<\/li>\n\n\n\n<li>stop eCPM volatility caused by wrong floors and weak fallback logic.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1) What You\u2019re Actually Building: The \u201cSales Attempts\u201d Logic<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Think of each impression as an auction with a pre-written plan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Direct deals<\/strong> (guarantees, premium placements, fixed or dynamic CPM)<\/li>\n\n\n\n<li><strong>Programmatic RTB<\/strong> (open auction \/ PMP \/ preferred)<\/li>\n\n\n\n<li><strong>Tier-2 networks<\/strong> (remnant networks, older SSPs, local networks, \u201ccatch-all\u201d partners)<\/li>\n\n\n\n<li><strong>Fallback<\/strong> (house ads, cross-promo, PSA, internal recs, empty response only as last resort)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Two things matter most in a waterfall:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Order<\/strong> (who gets first right of refusal).<\/li>\n\n\n\n<li><strong>Eligibility rules<\/strong> (floors, targeting, frequency, geo\/device, format, viewability, brand safety).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If these rules are off, the waterfall becomes a leaky bucket: requests get wasted, latency rises, fill drops, and eCPM becomes noisy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2) Inventory and the \u201cControl Unit\u201d: What Exactly Are You Prioritizing?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before tuning anything, decide what you\u2019re managing as your core levers:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Format<\/strong> (display\/video\/native\/interstitial\/rewarded)<\/li>\n\n\n\n<li><strong>Placement \/ ad unit<\/strong> (where it appears in the product)<\/li>\n\n\n\n<li><strong>Geo \/ language<\/strong><\/li>\n\n\n\n<li><strong>Device \/ platform<\/strong><\/li>\n\n\n\n<li><strong>Audience segment<\/strong> (if you have first-party data)<\/li>\n\n\n\n<li><strong>Viewability class<\/strong> (if you measure and use it)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">More segmentation gives more control \u2014 and more chaos risk. A strong approach is to start with <strong>2\u20134 key placements<\/strong> that drive most revenue, perfect the model there, then scale.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"614\" src=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/how-to-launch-your-app-meta-1024x614.png\" alt=\"\" class=\"wp-image-351\" srcset=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/how-to-launch-your-app-meta-1024x614.png 1024w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/how-to-launch-your-app-meta-300x180.png 300w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/how-to-launch-your-app-meta-768x460.png 768w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/how-to-launch-your-app-meta-370x222.png 370w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/how-to-launch-your-app-meta-760x456.png 760w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/how-to-launch-your-app-meta.png 1201w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3) Direct Deals: Put Them on Top, Without Breaking Delivery or UX<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Direct is usually the most predictable and highest-margin layer. It belongs at the top \u2014 with guardrails.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3.1 Direct Types That Fit Waterfalls Best<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Guaranteed<\/strong>: you must deliver volume. This is top priority, but carefully capped so it doesn\u2019t consume everything.<\/li>\n\n\n\n<li><strong>Preferred deal<\/strong>: priority access at a fixed price, often without an auction.<\/li>\n\n\n\n<li><strong>PMP<\/strong>: private auction; can sit above open auction but below guaranteed.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3.2 How Not to Kill Programmatic with Direct<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Give direct campaigns these controls:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Frequency caps<\/strong> and\/or traffic share limits<\/li>\n\n\n\n<li><strong>Time pacing<\/strong> (smooth delivery across the day)<\/li>\n\n\n\n<li><strong>Geo\/platform restrictions<\/strong> (if the advertiser is narrow)<\/li>\n\n\n\n<li><strong>Clear content exclusions<\/strong> (brand safety) to avoid blocks and policy issues<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Goal: <strong>direct takes the inventory it should<\/strong>, and everything else flows down fast \u2014 without extra retries or delays.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4) RTB: Competition Creates Money \u2014 If You Control It<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In a waterfall, RTB commonly includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>PMP<\/strong> (if not implemented as ad-server line items)<\/li>\n\n\n\n<li><strong>Open auction<\/strong> (your core revenue layer)<\/li>\n\n\n\n<li>Multiple <strong>SSPs \/ exchanges<\/strong> (sometimes many)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 The Most Common Mistake: Too-High Floors Too Early<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A floor is a filter. If you set a high CPM floor near the top, you might raise eCPM on winners, but you can also:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>crush <strong>fill<\/strong> (too many no-bids),<\/li>\n\n\n\n<li>push more traffic into lower layers, where you sell cheaply anyway.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Think of floors not as \u201cI want more money,\u201d but as \u201cmy <strong>efficiency threshold<\/strong> given win probability.\u201d<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 Best Practice: Segment-Based Multi-Floor<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use different floors for:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tier-1 vs Tier-3 geos,<\/li>\n\n\n\n<li>iOS vs Android vs Web,<\/li>\n\n\n\n<li>high-viewability placements vs low-viewability,<\/li>\n\n\n\n<li>video vs display.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">And always implement <strong>floor degradation rules<\/strong> when fill starts slipping (more on that later).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5) Tier-2 Networks: Not a Trash Bin \u2014 a Safety Net and Smoother<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tier-2 networks are useful when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>you have long-tail countries\/segments where SSPs can\u2019t fill reliably,<\/li>\n\n\n\n<li>you need to catch impressions during RTB issues,<\/li>\n\n\n\n<li>you want stable fill even if eCPM is lower.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">But they can easily hurt revenue and UX if they\u2019re placed too high, ship low-quality creatives, or conflict with brand-safety rules. Their job is to <strong>close gaps<\/strong>, not compete with your best sources.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6) Source Prioritization: How to Order Layers in Real Life<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/gaming-report-24-meta-1024x536.png\" alt=\"\" class=\"wp-image-352\" srcset=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/gaming-report-24-meta-1024x536.png 1024w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/gaming-report-24-meta-300x157.png 300w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/gaming-report-24-meta-768x402.png 768w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/gaming-report-24-meta-370x194.png 370w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/gaming-report-24-meta-760x398.png 760w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/gaming-report-24-meta.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">6.1 A Universal Baseline Order<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Guaranteed direct<\/li>\n\n\n\n<li>Preferred \/ high-CPM direct<\/li>\n\n\n\n<li>PMP \/ curated deals<\/li>\n\n\n\n<li>Open auction (core RTB layer)<\/li>\n\n\n\n<li>Tier-2 networks (remnant \/ regional)<\/li>\n\n\n\n<li>House \/ PSA \/ internal<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.2 The Order Changes by Format<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Video<\/strong> is latency-sensitive \u2192 fewer attempts, stricter timeouts.<\/li>\n\n\n\n<li><strong>Native<\/strong> can tolerate longer chains, but creative quality control matters.<\/li>\n\n\n\n<li><strong>Interstitials<\/strong> demand strict partner selection (or complaints will spike).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6.3 Don\u2019t Forget the \u201cCost of an Attempt\u201d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Each extra call adds:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>latency,<\/li>\n\n\n\n<li>technical failure risk,<\/li>\n\n\n\n<li>viewability loss (the user scrolls away),<\/li>\n\n\n\n<li>client\/page load overhead.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes it\u2019s more profitable to <strong>cut 2\u20133 weak layers<\/strong> than to keep a long chain \u201cjust in case.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7) Fallback Scenarios: Always Show Something \u2014 Without Collapsing Price<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fallback isn\u2019t one line item. It\u2019s a system.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7.1 Types of Fallback<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Technical fallback<\/strong>: RTB\/SDK\/script misses the deadline \u2192 switch immediately.<\/li>\n\n\n\n<li><strong>Price fallback<\/strong>: too many no-bids due to floors \u2192 temporarily lower thresholds.<\/li>\n\n\n\n<li><strong>Inventory fallback<\/strong>: targeting is too tight \u2192 expand eligibility (geo\/device\/category).<\/li>\n\n\n\n<li><strong>Content fallback<\/strong>: brand-safety filters everything \u2192 show safe house\/PSA.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">7.2 Key Rule: Don\u2019t Train the System to Sell Cheap<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If your bottom layer is a network that nearly always pays \u201csomething,\u201d it can raise fill but hide real problems in the upper layers. So:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>keep a <strong>minimum quality bar<\/strong> even for fallback,<\/li>\n\n\n\n<li>monitor the share of impressions that land in fallback (it\u2019s a built-in alarm).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8) Downtime Protection: Build Anti-Fragile Monetization<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-1024x683.jpg\" alt=\"\" class=\"wp-image-353\" srcset=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-1024x683.jpg 1024w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-300x200.jpg 300w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-768x512.jpg 768w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-1536x1024.jpg 1536w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-2048x1366.jpg 2048w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-370x247.jpg 370w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-760x507.jpg 760w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/19197453-scaled-1-390x260.jpg 390w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u201cDowntime\u201d in ads often looks like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>SSP responds in 5 seconds instead of 300 ms,<\/li>\n\n\n\n<li>SDK fails to initialize,<\/li>\n\n\n\n<li>DNS\/SSL\/script-blocking issues,<\/li>\n\n\n\n<li>no-bid spikes,<\/li>\n\n\n\n<li>degradation in one geo\/carrier only.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8.1 What to Put in Place Upfront<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Per-layer timeouts<\/strong>: don\u2019t let one source hold the entire chain.<\/li>\n\n\n\n<li><strong>Circuit breaker<\/strong> (auto-disable): if a source hits N errors or latency exceeds threshold \u2192 pause it for 5\u201330 minutes.<\/li>\n\n\n\n<li><strong>Redundant routes<\/strong>: at least 2\u20133 independent major RTB sources with different failure points.<\/li>\n\n\n\n<li><strong>Caching \/ preloading<\/strong> where applicable (especially web).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8.2 A Practical Trick: \u201cFast Empty\u201d Beats \u201cLate Fill\u201d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If the chain won\u2019t respond within your UX window, it\u2019s better to route down quickly than to wait and end up showing nothing (or showing too late, losing viewability).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9) Preventing eCPM Drops: Floors, Competition, and Mix Control<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Most eCPM drops come from three places:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Competition loss<\/strong> (fewer bidders, SSP disabled, ID\/consent problems)<\/li>\n\n\n\n<li><strong>Bad floors<\/strong> (too high \u2192 no-bid; too low \u2192 dumping)<\/li>\n\n\n\n<li><strong>Traffic sliding downward<\/strong> (direct under-delivery, RTB latency, and everything falls into cheap networks)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9.1 \u201cSmart Floor\u201d Strategy: Three Thresholds<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Base floor<\/strong>: safe minimum that usually keeps fill.<\/li>\n\n\n\n<li><strong>Target floor<\/strong>: your working segment-level threshold.<\/li>\n\n\n\n<li><strong>Stretch floor<\/strong>: higher threshold for peak hours \/ premium placements.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Then apply rules like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If fill drops below X% \u2192 temporarily degrade from target to base.<\/li>\n\n\n\n<li>If competition is strong and fill is stable \u2192 test stretch on a portion of traffic (A\/B).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9.2 Track More Than eCPM: Use RPM\/ARPU<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It\u2019s easy to \u201cimprove\u201d eCPM by cutting low-priced impressions \u2014 while total revenue falls. Business metrics are often:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>revenue per 1,000 sessions (RPM),<\/li>\n\n\n\n<li>revenue per user (ARPU),<\/li>\n\n\n\n<li>revenue per page\/screen.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes the \u201cbest eCPM\u201d produces <strong>worse total revenue<\/strong> because you lose too many impressions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">10) Monitoring: Metrics That Tell You If the Waterfall Is Healthy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At minimum, track:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fill rate<\/strong> (overall and per layer)<\/li>\n\n\n\n<li><strong>eCPM \/ RPM<\/strong> (per layer and total)<\/li>\n\n\n\n<li><strong>Timeout rate \/ latency<\/strong> (p50\/p90)<\/li>\n\n\n\n<li><strong>Error rate<\/strong> (SDK, network, no-fill)<\/li>\n\n\n\n<li><strong>Traffic share by layer<\/strong> (direct vs RTB vs tier-2 vs fallback)<\/li>\n\n\n\n<li><strong>Viewability<\/strong> (if measured)<\/li>\n\n\n\n<li><strong>IVT \/ fraud signals<\/strong> (if available)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Crucially: monitor by <strong>segments<\/strong> (geo, placement, device). Drops almost always start locally.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">11) A Practical \u201cHealthy\u201d Waterfall Example (Conceptual)<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"391\" src=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-1024x391.png\" alt=\"\" class=\"wp-image-354\" srcset=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-1024x391.png 1024w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-300x114.png 300w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-768x293.png 768w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-1536x586.png 1536w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-2048x781.png 2048w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-370x141.png 370w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/waterfall-model-CN-760x290.png 760w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s say you have one banner placement in an app.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Layer A: Direct<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Guaranteed campaigns (with pacing)<\/li>\n\n\n\n<li>Preferred (fixed CPM, caps)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Layer B: High-value RTB<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PMP (if relevant)<\/li>\n\n\n\n<li>Open auction via primary SSPs (2\u20134)<\/li>\n\n\n\n<li>Segmented target floors (geo\/platform)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Layer C: Wide RTB \/ Tier-2<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Broader sources that fill long-tail geos reliably<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Layer D: Fallback<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>House \/ internal promo \/ PSA<\/li>\n\n\n\n<li>(Optional) one \u201cinsurance\u201d network with strict quality filters and separate monitoring<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Automation rules<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Circuit breaker disables sources on high error\/latency<\/li>\n\n\n\n<li>Auto floor degradation when fill drops<\/li>\n\n\n\n<li>Alerts if fallback share rises above N%<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">12) Common Traps (and Fast Fixes)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Trap 1: The waterfall is too long<\/strong><br>Fix: cut weak layers with low win-rate and high latency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Trap 2: Direct consumes everything<\/strong><br>Fix: caps + pacing + segment inventory (premium placements for direct, the rest for RTB).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Trap 3: High floors = pretty eCPM, but less money<\/strong><br>Fix: optimize for RPM\/ARPU and keep a base floor.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Trap 4: You can\u2019t tell who\u2019s responsible for a drop<\/strong><br>Fix: per-layer reporting + alerts on fallback share and latency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Trap 5: One partner\u2019s downtime tanks revenue<\/strong><br>Fix: redundancy (multiple SSPs), timeouts, circuit breaker.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Thought<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" src=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/Mobile-app-monetization-1024x560.png\" alt=\"\" class=\"wp-image-355\" srcset=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/Mobile-app-monetization-1024x560.png 1024w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/Mobile-app-monetization-300x164.png 300w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/Mobile-app-monetization-768x420.png 768w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/Mobile-app-monetization-370x202.png 370w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/Mobile-app-monetization-760x416.png 760w, https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/Mobile-app-monetization.png 1260w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>A waterfall is about control: each impression follows a clear route. When it\u2019s tuned well, it behaves like a resilient system: maximize price first, maximize sell-through second, insure the tail third \u2014 all while keeping latency low and automatically protecting you from outages.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>If you want, I can also draft a ready-to-implement waterfall structure for your specific setup (web\/app, formats, geo mix), plus suggested timeouts, alert thresholds, and a 1-day \u201crevenue leak\u201d checklist.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>waterfall monetization model<\/strong> remains a reliable way to balance fill rate, CPM stability, and revenue predictability\u2014especially for publishers working with multiple ad networks and direct deals. By prioritizing demand sources from highest to lowest value, you retain control over pricing while ensuring unused impressions are still monetized.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, in 2025+, the strongest results come from <strong>hybrid setups<\/strong>: waterfall logic combined with real-time signals (floors, geo, device, user value) and selective header bidding. Regular optimization, data-driven floors, and continuous partner evaluation are essential to prevent revenue leakage.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Element<\/th><th>Best Practice<\/th><th>Common Mistakes<\/th><\/tr><\/thead><tbody><tr><td>Ad Source Priority<\/td><td>Sort by historical eCPM and fill rate<\/td><td>Static order without data review<\/td><\/tr><tr><td>Price Floors<\/td><td>Dynamic, geo- and device-based<\/td><td>One global floor<\/td><\/tr><tr><td>Ad Networks<\/td><td>Mix of premium, mid-tier, and fallback<\/td><td>Too many low-quality partners<\/td><\/tr><tr><td>Optimization Frequency<\/td><td>Weekly or bi-weekly<\/td><td>\u201cSet and forget\u201d approach<\/td><\/tr><tr><td>Ad Formats<\/td><td>Start with high-viewability units<\/td><td>Overloading pages with ads<\/td><\/tr><tr><td>Performance Tracking<\/td><td>eCPM, fill rate, RPM<\/td><td>Focusing only on CPM<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What is a waterfall monetization model?<\/strong><br>It\u2019s a sequential ad-serving setup where ad networks are called one by one based on priority until an impression is filled.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Is waterfall monetization outdated?<\/strong><br>No. While header bidding dominates, waterfall models still work well for smaller sites, direct deals, and as a fallback layer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How many ad networks should I include?<\/strong><br>Typically 5\u201310. More networks increase complexity and latency without guaranteed revenue gains.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>How often should I optimize the waterfall?<\/strong><br>At least once every 1\u20132 weeks, or after major traffic or seasonal changes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can waterfall and header bidding work together?<\/strong><br>Yes. Many publishers use header bidding first, then route unsold impressions through a waterfall.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A monetization waterfall isn\u2019t some \u201clegacy relic\u201d \u2014 it\u2019s still a very practical engineering approach when you want hard control over the&hellip;<\/p>\n","protected":false},"author":2,"featured_media":350,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[44,45,109,30,111,108,110],"class_list":["post-349","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-monetization","tag-cpm","tag-ecpm","tag-fallback","tag-programmatic","tag-rpm","tag-rtb","tag-ssp"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.0 (Yoast SEO v28.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Set Up a Waterfall Monetization Model - GTaro Ads Blog<\/title>\n<meta name=\"description\" content=\"Learn how to set up a waterfall monetization model step by step. Discover best practices, optimization tips, common mistakes, and how waterfall ads compare with header bidding to maximize ad revenue in 2025.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Set Up a Waterfall Monetization Model\" \/>\n<meta property=\"og:description\" content=\"Learn how to set up a waterfall monetization model step by step. Discover best practices, optimization tips, common mistakes, and how waterfall ads compare with header bidding to maximize ad revenue in 2025.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/\" \/>\n<meta property=\"og:site_name\" content=\"GTaro Ads Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-19T11:52:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-23T08:26:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1300\" \/>\n\t<meta property=\"og:image:height\" content=\"860\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"mark\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"mark\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/\"},\"author\":{\"name\":\"mark\",\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/#\\\/schema\\\/person\\\/b4ac1c0d9e28488faa237f75c626bd04\"},\"headline\":\"How to Set Up a Waterfall Monetization Model\",\"datePublished\":\"2025-12-19T11:52:15+00:00\",\"dateModified\":\"2025-12-23T08:26:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/\"},\"wordCount\":1755,\"image\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp\",\"keywords\":[\"CPM\",\"eCPM\",\"Fallback\",\"Programmatic\",\"RPM\",\"RTB\",\"SSP\"],\"articleSection\":[\"Monetization\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/\",\"url\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/\",\"name\":\"How to Set Up a Waterfall Monetization Model - GTaro Ads Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp\",\"datePublished\":\"2025-12-19T11:52:15+00:00\",\"dateModified\":\"2025-12-23T08:26:47+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/#\\\/schema\\\/person\\\/b4ac1c0d9e28488faa237f75c626bd04\"},\"description\":\"Learn how to set up a waterfall monetization model step by step. Discover best practices, optimization tips, common mistakes, and how waterfall ads compare with header bidding to maximize ad revenue in 2025.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/#primaryimage\",\"url\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp\",\"contentUrl\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp\",\"width\":1300,\"height\":860},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/how-to-set-up-a-waterfall-monetization-model\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Set Up a Waterfall Monetization Model\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/\",\"name\":\"GTaro Ads Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/gtaroads.com\\\/blog\\\/#\\\/schema\\\/person\\\/b4ac1c0d9e28488faa237f75c626bd04\",\"name\":\"mark\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af38c02fdb97fe9b6bcf535e8ff974440771762613e35b6557e2bc62eb00b05b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af38c02fdb97fe9b6bcf535e8ff974440771762613e35b6557e2bc62eb00b05b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/af38c02fdb97fe9b6bcf535e8ff974440771762613e35b6557e2bc62eb00b05b?s=96&d=mm&r=g\",\"caption\":\"mark\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Set Up a Waterfall Monetization Model - GTaro Ads Blog","description":"Learn how to set up a waterfall monetization model step by step. Discover best practices, optimization tips, common mistakes, and how waterfall ads compare with header bidding to maximize ad revenue in 2025.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/","og_locale":"en_US","og_type":"article","og_title":"How to Set Up a Waterfall Monetization Model","og_description":"Learn how to set up a waterfall monetization model step by step. Discover best practices, optimization tips, common mistakes, and how waterfall ads compare with header bidding to maximize ad revenue in 2025.","og_url":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/","og_site_name":"GTaro Ads Blog","article_published_time":"2025-12-19T11:52:15+00:00","article_modified_time":"2025-12-23T08:26:47+00:00","og_image":[{"width":1300,"height":860,"url":"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp","type":"image\/webp"}],"author":"mark","twitter_card":"summary_large_image","twitter_misc":{"Written by":"mark","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/#article","isPartOf":{"@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/"},"author":{"name":"mark","@id":"https:\/\/gtaroads.com\/blog\/#\/schema\/person\/b4ac1c0d9e28488faa237f75c626bd04"},"headline":"How to Set Up a Waterfall Monetization Model","datePublished":"2025-12-19T11:52:15+00:00","dateModified":"2025-12-23T08:26:47+00:00","mainEntityOfPage":{"@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/"},"wordCount":1755,"image":{"@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/#primaryimage"},"thumbnailUrl":"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp","keywords":["CPM","eCPM","Fallback","Programmatic","RPM","RTB","SSP"],"articleSection":["Monetization"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/","url":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/","name":"How to Set Up a Waterfall Monetization Model - GTaro Ads Blog","isPartOf":{"@id":"https:\/\/gtaroads.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/#primaryimage"},"image":{"@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/#primaryimage"},"thumbnailUrl":"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp","datePublished":"2025-12-19T11:52:15+00:00","dateModified":"2025-12-23T08:26:47+00:00","author":{"@id":"https:\/\/gtaroads.com\/blog\/#\/schema\/person\/b4ac1c0d9e28488faa237f75c626bd04"},"description":"Learn how to set up a waterfall monetization model step by step. Discover best practices, optimization tips, common mistakes, and how waterfall ads compare with header bidding to maximize ad revenue in 2025.","breadcrumb":{"@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/#primaryimage","url":"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp","contentUrl":"https:\/\/gtaroads.com\/blog\/wp-content\/uploads\/2025\/12\/651c3d2e370d8fcf20b42d3f_Top-10-Mobile-Ad-Mediation-Platforms-For-App-Monetization.webp","width":1300,"height":860},{"@type":"BreadcrumbList","@id":"https:\/\/gtaroads.com\/blog\/how-to-set-up-a-waterfall-monetization-model\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gtaroads.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Set Up a Waterfall Monetization Model"}]},{"@type":"WebSite","@id":"https:\/\/gtaroads.com\/blog\/#website","url":"https:\/\/gtaroads.com\/blog\/","name":"GTaro Ads Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gtaroads.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/gtaroads.com\/blog\/#\/schema\/person\/b4ac1c0d9e28488faa237f75c626bd04","name":"mark","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/af38c02fdb97fe9b6bcf535e8ff974440771762613e35b6557e2bc62eb00b05b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/af38c02fdb97fe9b6bcf535e8ff974440771762613e35b6557e2bc62eb00b05b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/af38c02fdb97fe9b6bcf535e8ff974440771762613e35b6557e2bc62eb00b05b?s=96&d=mm&r=g","caption":"mark"}}]}},"_links":{"self":[{"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/posts\/349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/comments?post=349"}],"version-history":[{"count":2,"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/posts\/349\/revisions"}],"predecessor-version":[{"id":376,"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/posts\/349\/revisions\/376"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/media\/350"}],"wp:attachment":[{"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/media?parent=349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/categories?post=349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtaroads.com\/blog\/wp-json\/wp\/v2\/tags?post=349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}