An ironSource ads audit is a structured review of tracking, campaign setup, bidding, inventory and creatives on the ironSource (now part of Unity) network, done before any optimisation. Its job is to confirm that the data is correct first. Changing bids on a campaign whose installs are misattributed only moves money faster in the wrong direction, so the audit starts with measurement and ends with creative.
Why audit before you optimise?
Mobile user acquisition depends on a chain of systems: the ad network, a mobile measurement partner such as AppsFlyer, Adjust or Singular, the app’s own event logging, and often a revenue source like an ad mediation platform or in-app purchase data. A break anywhere in that chain produces numbers that look plausible but are wrong.

An audit puts each link under a light. It also gives you a written baseline, so when results change after you adjust something, you can tell whether the change caused it.
Step 1: Is attribution configured correctly?
Start in your MMP dashboard. Confirm that ironSource is enabled as an integrated partner, that the postback settings send install and in-app events back to the network, and that the event names match what your campaigns optimise for. A ROAS campaign that receives no revenue postbacks cannot learn anything.
- Check that install postbacks fire for ironSource traffic in the MMP partner settings
- Confirm in-app events (purchase, level_complete, ad_revenue) are mapped and sent
- Compare installs reported by ironSource with installs attributed in the MMP for the same dates
- Review the click-to-install attribution window and view-through settings
- Confirm SKAdNetwork conversion value mapping for iOS campaigns
A gap of a few percent between network and MMP numbers is normal. A gap of 30% or more usually means a postback problem, a timezone mismatch or a reporting filter that does not match.

Step 2: How are campaigns structured?
Look at how many campaigns run, which countries they cover and which optimisation model each uses. ironSource Ads supports cost per install bidding as well as ROAS and retention-based optimisation. Mixing high-value and low-value countries in one campaign makes a single bid serve very different markets.
A common clean structure separates tier one countries from emerging markets, and separates Android from iOS. Each group then gets bids and goals that fit its own economics.
Questions to answer for each campaign
- What is the optimisation goal, and does it match the business goal?
- Which countries are included, and do they share similar install value?
- Is the daily budget large enough for the algorithm to exit learning?
- When was the bid last changed, and why?
Step 3: Bids and goals versus real unit economics
Pull day-7 and day-30 revenue per install by country from your MMP or BI tool. Compare it with your current cost per install in each market. If a country costs 1.20 USD per install and returns 0.40 USD by day 30, with no evidence that day-90 revenue closes the gap, that market is losing money regardless of volume.
For ROAS campaigns, check the target set in the campaign. Targets set far above what the app can achieve choke delivery. Targets set far below waste budget on low-value users. A sensible approach is to set the initial target near your measured day-7 ROAS and adjust in small steps, around 10% at a time, waiting several days between changes.
Step 4: Which apps and placements deliver your installs?
ironSource reports performance by source app (site ID). Export this report for the last 30 days and sort by spend. In most accounts a small number of publisher apps take a large share of the budget, and some of them deliver installs with very weak retention.
Look at day-1 and day-7 retention and revenue by source. Sources with high install volume and near-zero retention deserve a lower bid or a block. Be careful with small sources: a publisher with 20 installs does not have enough data to judge.
- Sort by spend, then flag sources with retention well below the campaign average
- Use bid multipliers per source rather than blocking everything at once
- Keep a dated block list with the reason for each entry
- Recheck blocked sources every month, since publisher traffic changes
Step 5: Fraud and data quality checks
Mobile ad fraud shows up as click spamming, install farms and SDK spoofing. Your MMP’s fraud protection suite (Protect360 at AppsFlyer, Fraud Prevention at Adjust) will flag suspicious installs. Review its rejected installs report filtered to ironSource and see which source apps appear repeatedly.
Also check click-to-install time distribution. A very large number of installs within seconds of the click, or a long flat tail over many days, both suggest something other than normal user behaviour.
Step 6: What does the creative audit look at?
Creatives on ironSource include video, playable ads and interactive end cards. List every active creative with its impressions, install rate and spend share. Creative fatigue is visible when the install rate of a top creative declines steadily over two or three weeks while impressions stay high.
Check that each creative set includes several formats. Playables often lift install quality because the user has tried a version of the game before installing, while short videos reach scale faster. Note the date of the last new creative upload; if it is more than a month ago in an active account, the creative pipeline is the first fix.
Creative checklist
- At least three to five active creatives per campaign, across formats
- Playable tested on low-end Android devices for load time
- End cards match the store listing so expectations are consistent
- Localised text for major non-English markets
Write the findings before changing anything
Put the results in one document: tracking status, structure issues, bid and goal gaps, source-level problems, fraud signals and creative gaps. Rank each finding by expected impact and effort. Fixing a broken revenue postback might take an hour and affect every ROAS campaign, so it goes first.
Only then make changes, one group at a time, with the date recorded. That way the next review can tell which change produced which result.
Keep the audit repeatable
Save the audit as a template with the same sections and date ranges. Running it again each quarter, or after any large change such as a new MMP or a new game update, shows whether earlier fixes held. It also helps a new team member understand the account in an afternoon instead of a month.
Where to start this week
Open your MMP, filter to ironSource for the last 30 days, and compare installs and revenue with the network dashboard. If the gap is small and revenue postbacks are flowing, move on to the source app export. If not, fix measurement before touching a single bid. Those two checks take an afternoon and decide whether the rest of the audit can be trusted.
Keep reading: Ironsource Ads · Advertising