In this lesson, we’ll walk through how to optimize a basic CPA campaign. This is one of the most critical steps in running ads—it helps you quickly stop wasting money and, more importantly, turn raw data into profit.
To make things easy to follow, I’ll use a real demo campaign that I personally tested. The campaign has been running for one day, which is enough to gather initial data and start making optimization decisions.
You’ll see the full process—from analyzing the offer, cutting underperforming placements, to building a blacklist—so you can gradually turn a “testing” campaign into a profitable one.
Reviewing Data After Running the Campaign
After running the campaign for one day, we now have enough initial data to begin analyzing performance. In this test, I promoted three different offers in the Philippines, all targeting the same carrier (Smart). The goal here is simple: identify which offer is actually profitable.
To do this, open the Report section in your tracking tool. From there, you can clearly see which offer is generating profit and which ones are not.
Based on the data, the next step is straightforward: cut the two underperforming offers and focus all your budget and traffic on the best-performing one.
This is the first filtering step in optimization—keep what shows potential, and remove everything else to avoid wasting your budget.
Optimizing Placements (Zone ID)
After identifying the most profitable offer, the next critical step is optimizing your placements (Zone IDs). These are the actual traffic sources where your ads are shown—and not all placements perform equally.
Inside PropellerAds, you can click into your campaign and open the Zone ID report. From there, sort by Profit to quickly identify which placements are losing money.
With a payout of $0.30 per conversion, here’s a simple rule of thumb:
If a placement spends around 50% of the payout (~$0.15) without generating a conversion → pause it immediately.
For example:
- A placement spends $0.23 with zero conversions → cut it.
- A placement spends $0.80 with no results → definitely remove it.
In many cases, each Zone ID is divided into multiple sub-zones. Don’t rush to block the entire zone—check the sub-zones carefully:
- If a sub-zone is losing money (spending without conversions) → block it.
- But if other sub-zones within the same Zone ID are profitable → keep them running.
In short, optimizing mobile campaigns is quite straightforward. The fastest way to improve performance is by cutting low-quality traffic sources and reallocating your budget to placements that actually generate profit.
Note: Sometimes a Zone ID performs poorly due to other factors as well—such as a weak offer, slow redirect speed, or even traffic saturation.
Adjusting Thresholds for Broad Targeting Campaigns
During optimization, there are many cases where you shouldn’t strictly follow the “spend 50% of the payout with no conversion → cut it” rule.
For example, if your campaign is targeting multiple GEOs or different device types, you need to use a more flexible threshold.
Let’s say you’re running a multi-GEO campaign, and you notice that Zone ID 950971 is losing money. It has already spent 2x the payout and even generated conversions—but it’s still unprofitable overall.
However, when you dig deeper, you realize that this Zone ID performs very well in Uzbekistan, but performs poorly in Azerbaijan.
In this case, instead of blocking it completely, you can create a new campaign specifically targeting Uzbekistan and keep this Zone ID active there. That alone can turn into a profitable campaign.
The same logic applies to device targeting. If your campaign includes both Android and iOS, you might see a Zone ID spending 1x payout and still losing money. But when you break it down, you may find that it’s generating +50% ROI on Android, while losing -80% on iOS.
At that point, the smart move is to create a separate campaign targeting Android users only—and focus on scaling what actually works.
Managing Your Blacklist
One of the most important optimization techniques in CPA affiliate marketing is building a solid blacklist.
A blacklist is simply a list of Zone IDs (placements) that have been proven to perform poorly.
During optimization, you should keep track of all Zone IDs that are unprofitable or generate no conversions. Save them in a separate file (Excel or Google Sheets).
Later, when you create a new campaign targeting the same GEO and carrier, you can just copy this list and paste it into the Exclude Zone ID section in your campaign settings.
For example, if you’re running traffic in the Philippines (Smart carrier) and identify 20 non-converting zones, you can exclude those same 20 zones right from the start when testing a new offer on Smart Philippines. This helps you save budget and significantly increases your chances of running a profitable campaign.
Important Notes on Blacklists
When working with blacklists, there’s one key thing you need to understand: sometimes a Zone ID is not unprofitable because of the traffic itself—but because the offer isn’t strong enough.
I’ve seen this many times.
When you find a truly strong offer, it can convert well even on placements that are not perfect—sometimes even on zones with a certain level of bot traffic. In some cases, you only need to block 2–5 bad Zone IDs, and the rest of the campaign keeps generating consistent profit.
That’s the power of a strong offer—it gives you the ability to scale aggressively.
So don’t be too aggressive with your blacklist. Only add a Zone ID when you’re confident that it’s consistently unprofitable.
Also, you should organize your blacklist by niche.
A Zone ID that doesn’t perform in a Pin Submit campaign might actually work well in a sweepstakes campaign.
That’s why it’s important to maintain separate blacklists for different niches, instead of using one global list for everything.
Getting Blacklists from Your Account Manager
When you join a new traffic source, you’ll often have an account manager assigned to support you. One of the fastest ways to get a high-quality blacklist is simply to ask them.
They usually have internal data showing which Zone IDs perform well and which ones don’t. Instead of starting from scratch, you can leverage their experience and get a solid blacklist right away.
Sometimes, just asking can save you a lot of testing budget and time.
Managing Campaigns on PropellerAds & BeMob
If your account spends under $500 per month, PropellerAds limits you to creating up to 20 campaigns per day.
Once your monthly spend reaches $500 or more, this limit increases to 40 campaigns per day.
Important note: any time you edit targeting, creatives, or the URL, it may count as a new campaign review. This means it’s not just new campaigns—existing campaigns that you modify can also consume your daily review quota.
How to Handle Incorrect Cost Data from PropellerAds
During campaign optimization, you may occasionally run into situations where the data reported by PropellerAds and BeMob doesn’t match. For example:
PropellerAds shows that you spent $4 for 4 conversions.
But BeMob reports a total cost of $16, which creates a significant discrepancy when evaluating profitability.
This is a fairly common issue. It usually happens when the cost data is sent incorrectly, or when there are duplicated tokens in the tracking setup.
Fixing Incorrect Data by Updating Cost Manually
In this situation, you can correct the data by manually updating the cost.
Right-click on your campaign and select “Update Cost.”
Then enter the actual cost from PropellerAds into the Cost field, and click Save to apply the changes.
What to Do If BeMob Still Shows Incorrect Cost Data
If you’ve already updated the cost manually but the issue persists (the data doesn’t update properly), you can consider one of the following solutions:
Option 1: Disable Cost Tracking in the Campaign Setup
Select “Do Not Track” for cost tracking.
Once this is enabled, BeMob will stop pulling cost data from your traffic source. Instead, you’ll need to update the cost manually at the end of each day.
This approach is commonly used by affiliates running Facebook Ads with BeMob.
Option 2: Use Paid Integrations (API Connection)
BeMob offers a paid integration feature (around $20/month) that allows you to connect directly with traffic sources like PropellerAds, MGID, or Facebook via API.
Once connected, your cost data will sync automatically and accurately, eliminating the need for manual updates and reducing discrepancies.
Option 3: Switch to Another Tracking Tool
You can also consider switching to a different tracking platform.
For example, tools like MaxConv offer built-in integrations without requiring an additional fee like BeMob.
MaxConv, which starts at around $45/month, also provides a wide range of integrations, giving you more flexibility and reliability in tracking.
Conclusion
After applying these basic optimization steps, the demo campaign has moved from a losing state to a profitable one (a “green” campaign).
The numbers may be small, but what really matters is that you now understand how to turn a losing campaign into a profitable one. This is a major turning point in your CPA affiliate journey.
That said, this is only the beginning. To increase your chances of finding winning campaigns, I’ll be covering landing pages in depth in the next chapters.
Landing pages are a critical factor if you want to consistently win in mobile advertising.