Why is my CPA rising, and what should I check first?
When Cost Per Acquisition rises, check your conversion postback pipeline first to verify events are not delayed or dropped. Next, inspect frequency capping to diagnose creative fatigue, analyze domain/app placement concentration to spot sudden publisher price spikes, and review attribution window settings between your DSP and MMP.
Detailed Explanation
A rising CPA is almost always caused by one of three core dynamics: your conversion denominator dropped (tracking failure or fatigue), your media numerator increased (bid inflation or floor hikes), or your audience quality shifted.
The most common culprit in programmatic buying is actually technical: delayed or missing server-to-server postbacks. If an attribution provider (MMP) starts batching conversion events or fails to expand click_id tokens, the DSP engine assumes conversion rates have collapsed and makes erroneous bidding adjustments.
If tracking is intact, look for creative exhaustion. When the average user sees an ad more than 4 to 5 times within 7 days, click-through rates degrade rapidly while impression costs remain fixed, causing CPA to climb.
The measurable decline in ad CTR and conversion rate when an audience is exposed to the same creative asset repeatedly, resulting in rising effective acquisition costs.
Diagnosing Creative Fatigue vs Tracking Drop
A campaign's CPA jumped from $18.00 to $32.00 over 48 hours with a constant $10.00 CPM.
The issue is not poor post-click conversion, but top-of-funnel creative exhaustion. Rotating fresh creatives and tightening frequency caps will immediately restore CPA.
What to Do Next
- 1Run your tracking endpoint through our Postback Troubleshooting Guide to verify real-time HTTP 200 responses.
- 2Check your creative frequency distribution and apply a rule capping impressions to 3 per user per 24 hours.
- 3Audit placement reports and exclude outlier app IDs that consumed >15% of budget with zero conversions.
Related Questions
Postback Troubleshooting Guide
Debug missing conversions, latency windows, and macro expansion errors.