Every meaningful ad monetization decision used to be trapped behind a release train. You wanted to preload one more rewarded ad, restyle a native placement, or loosen frequency caps in a single country — and the fastest path was a code change, a review queue, and two weeks of staged rollout before you saw a number move.
This release moves three of those decisions into the Apps Kit SDK portal. Ad preloading, native ad design, and region-specific configuration are now remote settings that apply to live installs. No app update, no store submission, no waiting for adoption on your long-tail versions.
1. Preload ads from the portal — fill rate optimization without code
A no-fill is rarely a demand problem. Most of the time an ad request simply started too late: the user hits the placement, the SDK begins the auction, the timeout expires before the good bidders answer, and you either show a cheap backfill impression or nothing at all. Preloading fixes the timing, not the demand.
You can now configure preloading per placement directly in the portal. Set how many ads to keep warm per format, choose the trigger point that starts the fetch, and define how long a cached ad stays valid before it is discarded and refetched. Change it at 9am, see the effect on the same day's cohorts.
- Preload depth per format — keep one interstitial and two rewarded ads warm, or tune it per placement
- Trigger points — preload on app start, on screen entry, or after a specific in-app event such as level start
- Cache TTL — expire stale creatives before they are served so you are not showing an ad that lost its bid twenty minutes ago
- Refill policy — refetch immediately after an impression, or wait for the next trigger to conserve requests
The guardrails matter as much as the settings. Preloading everything, everywhere is how you burn memory on low-end Android devices and inflate your request count with impressions that never happen — which quietly damages your fill rate and your standing with the networks. The portal shows the request-to-impression ratio for each preloaded placement so you can see when a preload depth is too aggressive and pull it back the same afternoon.
Our recommendation for a first pass: preload only your highest-value placements — rewarded and the first interstitial of a session — at a depth of one, with a conservative TTL. Measure, then increase depth only where the ratio stays healthy.
2. Design native ads in the portal — no app update required
Native ads earn their keep when they look like they belong in the app, which is exactly why they are painful to iterate on. Historically every layout tweak — headline size, icon placement, CTA color, corner radius — was a layout file in your binary, and every experiment cost a release.
Native ad templates are now built and edited in the portal. You compose the layout from the standard native assets (icon, headline, body, media, advertiser, CTA), style it with your own fonts, colors, spacing, and corner radius, and publish it to live apps. The SDK renders the template at runtime, so a design change reaches installed users on their next config fetch.
- Drag-and-place layouts for feed, banner-style, and full-width native placements
- Theme controls for typography, colors, spacing, radius, and CTA treatment — including separate light and dark variants
- Per-placement templates, so the native unit in your feed does not have to match the one on your results screen
- Variant testing — run two templates against each other and compare CTR and eCPM before promoting a winner
- Policy-safe by construction: the required ad attribution and advertiser disclosure are part of every template and cannot be styled away
The practical effect is that native design stops being an engineering ticket and becomes a monetization experiment. Teams that previously shipped one native layout a quarter can now test a new one every week, which is usually where the compounding gains in native eCPM actually come from.
3. Region-specific configuration — a customized ad experience per market
One global ad configuration is always wrong somewhere. The interstitial cadence that a US audience tolerates will churn users in an emerging market where sessions are shorter and connections are slower. The price floor that protects your eCPM in Tier 1 will strand your inventory unfilled in Tier 3.
You can now scope almost every ad setting to a region, country, or group of countries. Configurations resolve most-specific-first at request time, so a country rule overrides a region rule, which overrides your global default.
- Placement rules — enable, disable, or swap ad formats per market
- Frequency caps and cooldowns — tighter cadence where sessions are short, looser where they are long
- Price floors — country-level floors so you protect eCPM in Tier 1 without starving fill in Tier 3
- Preload depth and timeouts — deeper preloads and longer timeouts on slower networks, leaner settings on fast ones
- Native templates — a different template per market when local typography or language length demands it
A concrete example. In the US, UK, and DE you run rewarded plus interstitial with a 90-second cooldown, a firm floor, and preload depth two. In IN, ID, and BR you keep rewarded, drop the interstitial cadence to one every three minutes, remove the hard floor so bidding can clear, extend the auction timeout for slower connections, and use a lighter native template that renders faster on low-end devices. Same binary, two very different ad experiences.
How the three work together
These features are most useful composed. Region-specific configuration decides what each market should see; preloading makes sure the ad is ready when the moment arrives; portal-designed native templates make the unit look native in that market's context.
A configuration we like as a starting point: enable preloading at depth one on rewarded globally, define two region groups (mature and emerging) with their own caps and floors, and ship a single native template per group. That is three portal changes and zero lines of code — and it is enough to see whether the levers move ARPDAU for your app before you invest in finer-grained tuning.
The best ad configuration is the one you can change on a Tuesday afternoon and evaluate by Thursday.
Rollout checklist
- Turn on preloading for rewarded first — it is the highest-value format and the easiest to measure
- Watch the request-to-impression ratio for a week before increasing preload depth anywhere
- Build one native template that matches your app's type scale, then A/B it against your current layout
- Split your top ten countries into two or three region groups rather than configuring each one individually
- Change one variable per group at a time; overlapping changes make the ARPDAU delta unattributable
- Give each change at least seven days before you judge it — cohort effects and weekday seasonality need a full week to settle
All three features are available now in the portal for every plan, including the 14-day trial. If you are already integrated, they appear on your next config fetch — nothing to update, nothing to resubmit.


