Last month Apple rolled out its all-new App Store search advertising platform: Apple Search Ads. With over 1.5 million apps now in the app store, Apple Search Ads represent an exciting new way for marketers to drive traffic to their app in an environment of stiff organic competition, in a world where despite spending 87% of their time in apps, iOS users only download an average of 0-1 apps per month.
When Apple first announced their intention to roll out search ads for the App Store this summer at WWDC 2016, we came out with a preliminary look at the platform based on what Apple had revealed at the time. Now that we’ve been up and running on the platform for a while, it’s time to share updates on how well our predictions held up, some early performance data, best practices, and other insights into the new platform.
Early Performance Data
Although the platform is still new, performance data that we have seen has been very encouraging and we’re excited about the potential of the platform.
Here is a snapshot of some actual performance data from one of the accounts we manage in the ecommerce vertical:
A closer look at the data reveals a few insights:
Apple’s “Search Match” targeting method is proving to be highly effective right out of the gate. This match type automatically shows your ad on search terms that Apple’s algorithm thinks is relevant based on your app’s metadata.This is very similar to how Dynamic Search Ads on Google draws from your website. As one of our campaign tests, we chose to run Search Match campaigns without manually inputting any keywords in the same campaign, while making sure to add keywords from other campaigns as negatives to the Search Match campaign to prevent intra-account competition.
So far, it is proving to be the most scalable campaign type, with CPIs not far behind the other best-performing keyword-based campaigns (in this case, $2.90 vs. $2.11 per install).
One thing to note about the performance data Apple reports is that a conversion means an initiated download or redownload, and not necessarily a distinct installation (for example, if a user pauses an app download before it is complete and deletes the app from their phone, it will still be counted as a conversion in the UI). So while we are calling the amount of ad spend per conversion cost per install, it’s technically the cost per download.
Other Insights From the Data
Another thing that stands out is the relatively high conversion rate – 37.11% overall for the account, and as high as 64.86% in one of the better performing campaigns. This is what is leading to CPIs in the $2-3 range for top-performing campaigns, despite cost per taps (CPT) that average $1.33 for the account.
One data point that’s not shown here is overall impression volume. The impression volume we’ve seen thus far has been relatively low for most campaigns, which is to be expected considering that Apple shows just one ad per search result while also requiring very high relevancy between chosen keywords and your app. It’s difficult to say if the high conversion rates would scale with larger search volumes, but the conversion rates we have seen so far look promising.
Now let’s take a look at some other internal data from another account in the financial services vertical:
Once again, Search Match is proving to be a very effective non-brand campaign, although it has a visibly higher CPI than the brand and competitor campaigns. The competitor campaign is performing well with high conversion rates and a low CPA for now, but with a CPT of 55 cents that will likely not last as competitors start to bid on their own branded keywords in Apple Search Ads.
What’s interesting here is that the CPT for competitor keywords is basically the same as for the company’s own branded keywords. This represents a significant difference from Google AdWords’ auction dynamics, where the high quality score of your own branded keywords results in a much lower CPC than bidding on competitor’s keywords, where your quality scores are typically low. This calls into question the relevancy component of the Apple Search Ads platform, and it will be interesting to see how competitor CPTs evolve over time.
Conversion rates for this account are mostly in the 30% range (with the notable exception of a whopping 61% conversion rate for brand exact), and tap-through rates average upwards of 7%. Since this account has not scaled yet, the CPTs are still relatively low compared to the ecommerce account we looked at earlier. This contributes to a somewhat lower CPI than the other account, at $1.61 cost per install early on.
Broader Trends in Apple Search Ads Performance
For the ecommerce account we looked at above, our performance data is showing lower CPIs for Apple Search Ads than for other platforms. At a $3.59 cost per install for this account, the Apple Search Ads CPI is currently as much as 60% lower than CPIs on other channels for the same app.
Our internal data seems to be corroborated by broader reports. Early after the new platform was launched, mobile marketing CEO Peter Hamilton reported CPIs of under a dollar due to low competition, which he noted were a third to a fifth as expensive as CPIs on other channels.
This finding is echoed in data reported by Singular, a mobile analytics company. Their data showed that Apple Search Ad CPIs were 67% cheaper than the average CPI across other ad channels, although they have been trending upwards at an average of 25% week over week since the launch of Apple Search Ads.
Obviously, it’s still very early. As has happened with other ad networks, the performance observed in the early days is not reflective of where things will settle once the channel saturates. Marketers can expect CPIs to continue to get more expensive as more advertisers join the platform, and it won’t be possible to compare Apple Search Ads “apples to apples” (no pun intended) to other more established platforms for some time.
The good news is that despite CPIs creeping upwards, post-install activity from Apple Search Ad installs looks extremely healthy, with AppsFlyer reporting an average of six in-app actions per install through Apple Search Ads. We’re still evaluating performance of post-install activity for our own clients but the early results also look promising.
What’s more, many Apple Search Ad installs are driven by non-brand-specific keywords according to the same AppsFlyer report: 72% of search queries resulting in an install from ads were not based on the name of the app. This, combined with a Splitmetrics test that showed app search results had 57% tap-through rates (versus 71% for top of page organic results) demonstrating low user aversion to Apple Search Ads, indicates that search ads are showing real promise as a customer acquisition channel.
Diving Into the Platform: Features, Tips & Best Practices
Apple Search Ads Campaign Creation
The apple search ads platform has three levels: campaign, ad groups, and keywords. Keywords are grouped into ad groups, which are a subset of campaigns.
Here’s a look at the campaign creation screen in Apple Search Ads:
As you can see, the search ads platform is no exception to Apple’s preference for minimalistic interfaces. Before you can choose any options, you must first specify the app your campaign will be advertising.
Since ads are automatically generated by Apple based on your app store description and metadata, the ad copy and creative will be set at the campaign level once you input your app: ads will not differ across ad groups and keywords, meaning you won’t be able to take advantage of creative or copy optimization.
Once you’ve input your app (we used the Google Search app for the sake of example), more fields will appear, starting with campaign budget (discussed below) and the option to set campaign-level negative keywords:
Once you have created a campaign there is no way to delete it from the account. There are only two possible campaign states: active or paused.
Also note that if you want to add or remove keywords from your campaign keywords list, you must navigate to the ad group level and hit the keyword tab (you can’t do it in campaign settings for some reason).
Finally, notice that since there’s no shared library across campaigns for an account, you will have to include your master negative keyword lists either at the campaign level or in each individual ad group you create.
Ad Group Level
Next, you will be taken to ad group creation as you scroll down, which includes a preview of your ad in the sidebar:
Here is where you name your ad group, choose devices (iPhone, iPad, or both), set ad scheduling (you can include or exclude times of day for each day of the week), and your default bids for the ad group (which can be adjusted by keyword at the keyword level).
Notice that Search Match targeting method is enabled by default. If you want your campaign to only target specific keywords of your choosing, be sure to disable this option.
As previously mentioned, your ad will be auto-generated based on the metadata from your app’s description. You can see a preview of what your ad will look like on the right-hand side of the ad group creation screen.
You can also click “View all examples” to see all possible variants of your ad as it will appear in the app store search results page:
You can preview your ad by device on both the iPhone and the iPad (they do look a little different). You can choose which devices you want to target in the ad group settings.
The next section of the campaign creation screen includes a keyword input field. Although you can upload a .csv file with keywords after the campaign has already been created, you have the option to input a list of your keywords (both standard and negative) here:
You can enter keywords in this section to find related keywords with relative search volumes, and Apple will populate the list with suggested keywords based on your app if you leave this field blank.
Sadly, Apple provides only minimal data on keywords. When you type a keyword into the UI, you will see only see the relative search volume, no hard numbers.
The final section of the campaign creation screen allows you to choose targeting options.
Within this section, you can choose which customer types to target. Options include:
- All users
- Users who have not downloaded the app
- Users who have downloaded the app
- And lastly, users who have downloaded your other apps.
The demographic targeting allows you to layer in a target gender or age range. Targeting locations allows you to target specific cities or states.
At Growth Pilots our approach to account structure is to bucket keywords into campaigns by theme. This allows us to set budgets for themes according to how they perform, and it organizes performance data so we can get a big picture look at how groups of keywords are performing by bucket.
For example, in one campaign we might include keywords related to a client’s brand, while another campaign might contain competitor keywords, and we can easily see how brand keywords perform relative to competitors. As we discussed earlier with the performance data, this allowed us to see that competitor keywords had a CPT very similar to brand keywords.
It makes sense to further separate out campaigns by match type and device. For example, you might have a brand campaign with exact match keywords and a brand campaign with the same keywords set to broad match. The reason to do this is it allows you to set different budgets for exact match campaigns, broad match campaigns, iPhone campaigns and iPad campaigns with the same keywords, according to how they each perform.
When the same keywords are used for more than one campaign match type, make sure to include the exact match keywords in the negative keyword list for the broad match campaign. Setting up the proper exclusions will prevent your campaigns from competing against each other and will ensure each search query triggers the appropriate keyword.
Lastly, we recommend making full use of the “search match” feature by creating a separate campaign with no keywords. Search match will automatically generate keywords it thinks is relevant for that campaign. Again, make sure to add keywords from all other campaigns as exact negatives to prevent intra-account competition.
Having a separate search match campaign can be very useful from a keyword expansion standpoint. It will allow you to use the search terms report from your search match campaign to find high performing keywords to add to your other campaigns or even break out into their own themes. Search term reports in the search match campaign can also help find irrelevant or underperforming keywords to add to your negative keyword lists.
While budgeting is set at the campaign level just as it is on AdWords, with Apple’s UI the “budget” that you set applies to the campaign across its entire lifetime. What usually campaign budget means – daily budget cap – is set separately in the “daily cap” field.
This is a minor difference, but it’s worth paying attention to because if an account is left unattended without a sufficiently high budget, it will pause automatically whether you like it or not.
For example, suppose you initially set the lifetime budget at $1000 dollars with a $500 daily cap, a cap that the campaign hits every day. Within two days that campaign will have exhausted its lifetime budget and it will stop serving ads. Unless you remember that you set the lifetime campaign budget so low, you might not know that it’s paused until you check the campaign again.
The easy solution here is to set budget extremely high during campaign creation so you’ll never run out. On the flip side, it might be a good thing that campaigns have a safety valve like this, so that if they aren’t being checked on regularly, they won’t continue to spend indefinitely.
As we mentioned in our first article on Apple Search Ads, there are two bidding options: max CPT and CPA goal. Max CPT is a second-price auction system, just like Google AdWords. CPA goal bidding is a hybrid of conversion-focused bidding types like AdWords’s Conversion Optimizer and Facebook’s oCPM and target CPA bidding. We recommend starting with manual CPT bidding to get a sense of what your CPTs and CPIs look like and then once you have accumulated enough install data, experiment with CPA goal bidding. This follows the same approach we use on Google and Facebook.
There is one big difference between how these other platforms approach CPA-focused bidding compared to Apple Search Ads – you have to set both a max CPT and a CPA goal. The two bids work in conjunction with one another as opposed to being mutually exclusive like they are on other platforms. This could be a function of the newness of the platform. As Apple’s bidding algorithm collects more data and gets more sophisticated it wouldn’t be surprising to see a standalone CPA bidding option.
Another major difference with bidding on Apple is that the platform is still relatively new and uncrowded, so there isn’t as much competition for keywords yet. In the accounts we manage, average CPTs are hovering around $1, which is fairly low relative to the conversion rates from tap to install we are seeing. This will almost certainly change as the platform matures – as we mentioned earlier, costs have already been increasing at a rate of 25% week over week since the platform launched.
Bidding on Apple is also unique in that there is only one ad result on Apple Search Ads. Essentially, this means that only the top position ad is shown – if your ad doesn’t win the auction against all other competitors for that keyword, it will receive zero impressions.
The rarity of ad inventory could potentially lead to very high CPTs, if it weren’t for the fact that there is a relevance floor requirement for Apple Search Ads. Apple determines how relevant an app is to any given keyword, and below a certain relevance threshold an ad will not be shown no matter how high the bid.
This relevance floor has the effect of limiting the number of apps that can possibly compete for any given keyword, and should prevent CPTs from rising to prohibitive heights from overcompetition for the very limited ad inventory. However, as mentioned earlier it feels like Apple is still figuring out how to factor relevance into the ad auction considering the relatively low CPTs of competitor keywords.
On the flip side, the fact that there’s only one ad position can make it very difficult to optimize bids. If, for example, you’re not bidding enough to be competitive for a given keyword, then your ad simply won’t be shown at all and you will receive no impressions for that keyword.
Apple doesn’t suggest bids currently, so you have to proceed by a process of trial and error until you find a bid high enough to start getting some impressions – and because Apple doesn’t show you your average position or any equivalent metric, it’s impossible to know how your bids stack up against the competition except by trial and error. These are areas that will eventually need to be augmented to the Search Ads platform to make it a viable channel that performance marketers take seriously.
For example, for some campaigns we saw no impression volume until we raised our bids above a certain threshold, and at that point the data started to roll in (thankfully with average CPTs much lower than our bids).
Reporting Features and Limitations
In Apple Search Ads, although it is possible to download performance data for all campaigns at custom time windows, there’s no way to segment those reports by day – which may be troublesome to marketers used to working with AdWords’ highly customizable reporting. At the account level dashboard, Apple also doesn’t display aggregate data, so you’ll have to manually add up the data to see how your account is performing overall.
That means that if you want to include daily performance reports, you’ll either have to enter each day of data one at a time, or you can download data segmented by day for each individual campaign by navigating to the adgroup level of a campaign and selecting the “Reports” tab.
Within the Reporting UI, you can segment campaign performance data by date, ad group, device, age, gender, or location.
To see performance broken down by keywords, or to view which search terms are triggering your ads (of especial importance with Search Match campaigns), navigate to the keyword level and select the appropriate tab. A major limitation of the Apple UI is that it will not show you search terms if they fall below a certain volume threshold – it simply adds up all your long-tail queries into “low volume terms” and bundles all their data in the same bucket.
Post-Install Reporting: Apple Search Ads Attribution API
While install reporting is nice, down-funnel reporting is critical for ROI optimization. Apple doesn’t have a seamless solution for post-install tracking like many other large ad networks, but it is possible with some extra legwork using the Apple Search Ads attribution API. This is vital for marketers who want to track the quality and value of installs generated by Apple Search Ads.
The attribution API will report when a user downloaded an app by tapping through an Apple Search Ad, and returns data on the date a user clicked an ad, the date they installed, and which campaign, ad group, and keyword was responsible for serving the ad they clicked. From there, any in-app actions taken by that user can be attributed back to the Apple Search Ads data to determine the ROI, LTV, ARPU, or any other metric you want to calculate.
Note that this post-install data must be called via API and cannot be seen in the Apple Search Ads reporting dashboard. This makes for a less than desirable experience but at least there’s a way to assess the performance metrics that really matter. Third-party attribution tools like AppsFlyer and Tune also have support for Apple Search Ads attribution, so you have options if you don’t want to build your own reporting system from scratch.
See the above link for full instructions on implementing the attribution API, and this PDF for a more extensive overview.
UI Functionality: Columns and Date Ranges
The minimalistic UI, as we noted above, comes at a cost in terms of options and ability to customize. Within Apple Search Ads, you can’t create custom columns for the reporting dashboard, and there are an extremely limited number of options for columns you can show or hide.
There are 12 total columns at the campaign level: Spend, Avg CPA, Avg CPT, Impressions, Taps, Conversions, TTR, CR, App Name, Budget, Daily Cap, and Campaign ID.
There are 14 columns at the ad group level: Search Match, Default CPT Bid, Spend, Avg CPA, Avg CPT, Impressions, Taps, Conversions, TTR, CR, Start Date, End Date, Ad Group ID, and CPA Goal.
And finally, there are only 10 possible columns at the keyword level: Match Type, Spend, Avg CPA, Avg CPT, Impressions, Taps, Conversions, TTR, CR, and Keyword ID.
Another thing to bear in mind as you navigate the UI is the date range. The options here are limited: you can choose between today, yesterday, last 7 days, last 30 days, last week, last 4 weeks, last 12 weeks and custom range. Notably missing are “all time” or “last month” windows (you’ll have to manually create them if you want to look at data from that time window).
Lastly, the time window does not remain the same as you navigate throughout the UI. For example, if you set the time to last 30 days at the account level and then click through to a campaign, it will reset back to the default time window (last 7 days).
Take Advantage Of Early Adopter Performance
Although the Apple Search Ads has its limitations and it is still a relatively new paid acquisition channel, this is more than offset by the favorable CPIs and the fact that the platform has not yet become very crowded. Our advice for marketers is to get started with Apple Search Ads as soon as possible to take advantage of the strong early performance before it gets too saturated.