Being working in cpm ad networks since 5-6 years, according to my experience another reason of cpm drop is "tag fatigue".
When you start selling traffic by adding any network tag (popup+push+inpage) on your website then you get a standard id which consist of publisher_id+site_id+placement_id. For example as following:
publisher_id = 4512542
source_id = 89031 (website)
placement_id = 75873901
seller_unique_id = 4512542+89031+75873901 = 45125428903175873901
So with passage of time advertisers start blocking any publisher which they assume is not worth to buy from and simply they exclude that publisher from their campaigns or move to low cpm campaigns. As time goes, more and more advertisers exclude you or move you in low cpm campaigns. And in result after few month your cpm drops.
Adsterra offer to create multiple tags, try to get new tag of same website. If advertisers blocked you on full seller_unique_id basis since now you have new tag means, new placement_id then you will be a "new traffic source" for them and you will start getting high cpm again.
Every traffic buyer or advertiser have their own rules, some block publisher, some block source and some block only combination of all three.
I use one network and when my cpm drops, I readd website and create new tags and same traffic generate double revenue.
GCS
In addition when I was buying traffic from different SSP (like froggyads and rapidhits) then I myself have been blocking traffic sources in same way. See attached screenshot for reference.