Want to see whether a new icon gets more people to install your app? Apple's Product Page Optimization lets you A/B test icon variants directly in the App Store. But, it's not visible by default.

It says you can test different app icons, but do you see an option anywhere?

You should see the App Icon tab like below:

product page optimization app icon

You won't see it if you don't have alternate icons included in your build. That build has to be reviewed and published. That's when you can create an icon a/b test.

App Store alternate icons are just different versions of your app icon that you ship inside the iOS app. You can offer a way for your users to switch icons to light/dark mode, themed icons, seasonal icons.

Create your alternate icon

Design an alternate icon and add in your expo project, probably in /images folder or wherever you place your static image assets. Make sure your icon file meets Apple's requirements for iOS app icons (proper size, square, no transparency where it shouldn't be, etc.). If the icon is invalid, you’ll find out the annoying way...during build or review. Apple's Icon Composer can help with that. If you're not on MacOS, icon.kitchen is pretty good.

Add expo-alternate-app-icons

Alternate icons are not supported on Expo without a plugin. Install expo-alternate-app-icons and include it in the expo app config file:

[
  'expo-alternate-app-icons',
  [
    {
      name: 'Alticon',
      ios: './images/alticon.png',
    },
  ],
],

name is the identifier you'll see in App Store Connect, and use in code if you let users switch icons. Name needs to be in PascalCase. Keep it simple, and don't change it unless you plan to ship a new build.

Build a new iOS version and ship it to TestFlight

Alternate icons only become real to Apple once they’re included in a submitted build. If you have a workflow with GitHub, I have a tutorial on how to publish to TestFlight from GitHub actions (And you'll probably need guide how to create app store api key).

After your build is approved and published, you can enter app store experiments.

You should see an App icon tab finally show up.

Ok, create your experiment. Select your alticon and start ab testing!

Every time you add or change an alternate icon, you need to ship a new iOS build (and get it approved) before App Store Connect will let you use that icon in Product Page Optimization. If you're iterating quickly, it helps to automate the boring parts - version bumps + releases—so each icon experiment maps cleanly to a build. Here’s how I do it: automate Expo versioning with Release Please.

I don't have any advice on what types of variants to ab test, this is something I'm still figuring out.

Youtube: https://youtu.be/bREHI7DpoCw