Apple Formally Begins Permitting Ads in Push Notifications

Orion Rummler, Axios:

Apps on Apple products can now send push notifications for ads and promotions as long as customers explicitly opt in to get those alerts, according to the company’s updated App Store guidelines.

Ads delivered by push notifications were once verboten, but some developers ignored that rule and Apple didn’t police it. The company softened its stance a few years ago by updating the text of section 4.5.4 to read (emphasis mine):

Push Notifications must not be required for the app to function, and should not be used for advertising, promotions, or direct marketing purposes or to send sensitive personal or confidential information. Abuse of these services may result in revocation of your privileges.

So, while Apple would not reject or pull an app if it uses the push notification system to send ads, it was frowned upon. But now, this same section reads:

Push Notifications must not be required for the app to function, and should not be used to send sensitive personal or confidential information. Push Notifications should not be used for promotions or direct marketing purposes unless customers have explicitly opted in to receive them via consent language displayed in your app’s UI, and you provide a method in your app for a user to opt out from receiving such messages. Abuse of these services may result in revocation of your privileges.

Realistically, Apple is simply giving in to what many developers already do. It sucks; I wish this section became more strict, not less so.

The rules are ambiguous about whether users must be able to opt out of push notification ads without entirely disabling notifications for an app. While there is the ability for developers to set some notifications as critical, this feature is designed for emergency apps and requires a special entitlement. iOS does not make it easy for developers to separate notification types otherwise, which means that every developer is going to have to build a way to categorize notifications — or, more likely, users will simply have to switch off notifications for an app to disable advertising.

Notably, there is also no requirement that push notification ads be a promotion for the app or its features. It seems perfectly legal under these rules for unscrupulous developers to sell push notification ad slots to third parties. Gross.

There’s good news in this update to the guidelines, too. Mike Peterson, Apple Insider:

The company has also implemented a blanket ban on apps used to commit or attempt to commit crimes by evading police. Previously, it only barred apps that tracked DUI checkpoints.


There’s also an entirely new section dedicated to App Store reviews. In it, Apple instructs developers to “treat customers with respect when responding” to comments. The same section bans custom review prompts, requiring developers to use Apple’s official review API.

It’s probably because those custom review prompts are irritating and it’s impossible to opt out of them.

Sounds familiar.

Update: Stuart Breckenridge points out that it isn’t technically difficult for a developer to create multiple notification types. Twitter clients, for example, often allow you to decide whether you want to see notifications about mentions, new followers, messages, and so forth — all independently of each other. So why don’t many developers allow more granular control in more of their apps? I suspect the kinds of apps that will take advantage of this rule change won’t create a separate category for advertising — if you want to know when your food delivery will arrive, you will also put up with promo code notifications and enticements to use the app.

I would love if App Review became simultaneously more consistent and more careful. Apps should be meeting a higher bar for quality; the App Store needs less junk, not more.

Also, I wasn’t thinking when I wrote that the ban on apps that help users evade law enforcement was a good thing. For one, it formalizes the rule used to ban the HKMap Live app last year; for another, it’s subject to extraordinarily broad interpretation. However, when I went to check this out in section 1.4.4, Apple appears to have reverted the language here to a previous version. Compare the live version to how it read previously.