appranker
  • ASO
  • App Store
  • App promotion

App Store custom product pages: setup, keywords and links

App Store custom product pages step by step: the 70-page limit, keywords for organic search, deep links, ppid URLs, review, analytics and an API script.

AppRanker team13 min read

A black iPhone on a white marble surface with the App Store icon showing a red badge on an otherwise empty home screen

App Store custom product pages are extra versions of your product page, each with its own screenshots, app previews, promotional text and, since October 2025, its own keywords. You can publish up to 70 of them, give each one its own URL and deep link, and send different people to the page that matches why they came. Apple's custom product pages overview reports that developers who refer people to a custom product page see "a 2.5 percentage point increase on average," which it puts at a 156% lift over the 1.6% average conversion rate of default product pages.

Most guides still treat them as an ad-landing-page feature. That changed on October 29, 2025, when Apple doubled the limit from 35 to 70 and let custom product pages appear in organic search for keywords you assign. This guide covers what you can and cannot change, how to set one up in App Store Connect, how keyword assignment works, deep links and ppid URLs, review and analytics, a small App Store Connect API script that lists every page and its URL, and how Google Play's custom store listings compare. The steps follow Apple's App Store Connect help page.

Key takeaways

  • You can publish up to 70 custom product pages per app. Each can vary screenshots, app previews, promotional text and keywords, and can carry a deep link. The name, subtitle, icon and description stay the same.
  • Keywords you assign must come from your latest approved app version's keyword field, and each keyword combination can belong to only one page.
  • A page is visible only through its unique URL (a ppid parameter) or, once approved and set to visible, through search for its keywords.
  • Every page goes through App Review, independent of an app update. Analytics appear after five first-time downloads.
  • Google Play's equivalent, custom store listings, allows 50 pages and can change the name, icon and descriptions too.

What a custom product page can change

A custom product page is a variation of your default page, not a separate listing. From Apple's documentation, each page can have different:

  • Screenshots, in any order you choose.
  • App previews (the videos at the start of the screenshot row).
  • Promotional text, the 170 characters above your description.
  • Keywords, chosen from your app's keyword field.
  • A deep link that opens a specific place in your app.

Everything else is shared with your default page: the app name, subtitle, icon, description, ratings and reviews, In-App Purchases and the "What's New" text. That is why a custom product page works best when the difference is visual and about a use case. If the story you need to tell lives in the description, it belongs on the default page; our guide to the App Store description covers that field.

Each page is localizable, so you can add screenshots and promotional text per language. Apps on pre-order can use custom product pages too, and approved images and videos from the new Asset Library can be reused across pages. The App Store creative assets that Apple launched on October 5 work with custom product pages as well.

Visitors see a custom product page on iOS 15, iPadOS 15 or later. Everyone else, and anyone who did not arrive through the page's link or one of its keywords, sees your default page.

A hand holding an iPhone with a grid of app icons, the App Store icon among them, above a laptop keyboard

People arrive at your page for different reasons. A custom product page lets the first three screenshots match the reason. Photo: cottonbro studio / Pexels

How to create a custom product page in App Store Connect

You need the Account Holder, Admin, App Manager or Marketing role, and your app must be Ready for Distribution in at least one country or region.

  1. In Apps, select your app and click Custom Product Pages in the sidebar.
  2. Click Create Custom Product Page (or the + button if you already have one).
  3. Enter a reference name. It is internal and is what you will see in App Analytics, so name it after the audience or campaign, such as "Running - search" or "Strength - Meta ads".
  4. Start from a blank page or copy an existing product page version (Ready for Distribution or Prepare for Submission). A copy takes your primary localization.
  5. Click Create. App Store Connect generates the page's unique URL and shows it on the page.
  6. Add or change screenshots, app previews, promotional text and keywords. Use Browse Assets to reuse approved media from the Asset Library.
  7. Optionally add a deep link (see below).
  8. Submit the page for review.

Apple says custom product page metadata can be submitted for review "independent of an app update," and since its October 2025 change, a page under review no longer holds up a separate app version submission. A page for a campaign does not have to wait for your next build.

Editing, disabling and deleting

  • Edit: open the page, click Create New Version, make your changes and submit. The URL does not change, and the new version replaces the old one when approved.
  • Disable: click Disable Link under the product page URL. Anyone who follows the link lands on your default page.
  • Delete: at the bottom of the page, click Delete This Product Page. It is permanent, and the URL redirects to your default page.

Because both disabled and deleted links fall back to the default page, an old ad or email link never breaks. It just stops being specific.

This is the part that turned custom product pages into an ASO tool. In Apple's words, keywords let "your custom product page appear in search results for those selected keywords, rather than your default product page."

The rules, from the help page and Apple's search documentation:

  • In the page's Keywords section, you select keywords from your latest approved app version. You cannot type new ones; they come from your 100-character keyword field. Repeat for each localization.
  • The keywords should "match the intent of your custom product page."
  • Each keyword combination must be "unique to a single product page." Two pages cannot claim the same one.
  • You can assign keywords at any time, but the page is searchable "only after it is approved and set to visible."
  • You can disable keywords one at a time later.

Assigning a keyword does not make you rank for it. It decides which of your pages people see when your app already appears for that search. If a page is not showing up, check in this order: the page is approved, it is set to visible, the keyword is in your latest approved version, and your app ranks for that keyword at all. Our App Store keyword ranking guide shows how to check that last one, and why your app is not showing in App Store search covers the other common causes.

Plan pages around reasons to install

A simple way to plan them, using a fitness app as the example:

Page Reason people install Keywords assigned First screenshot shows
Default General fitness (everything else) The home screen and weekly plan
Running Training for a race running, 5k, marathon, couch A 10-week 5k plan
Strength Lifting at the gym gym, weights, strength, lifting A logged workout with sets and reps
Yoga Gentle daily practice yoga, stretching, mobility A 15-minute guided flow
  1. Find the three to five distinct reasons people install. Your reviews and the search terms in App Store Connect show them.
  2. Make sure the words for each reason are in your keyword field. If not, add them in your next version, because a custom product page can only use keywords from an approved version. Our free ASO keyword research guide shows how to find them.
  3. Build one page per reason. Lead with the screenshot that proves the app does that job, and use the promotional text to say it in one sentence.
  4. Assign each group of keywords to one page. Leave the default page as the fallback.
  5. After a few weeks, compare each page's conversion rate with the default page and rework the weakest.

An open notebook with handwritten planning questions next to a laptop keyboard, a pencil and a binder clip

Plan pages on paper first: one row per reason to install, with the keywords and the screenshot that answers it. Photo: Leeloo The First / Pexels

The page URL

Each page's URL is your normal App Store URL with a ppid parameter, the page's ID. Apple's StoreKit documentation gives this example:

https://apps.apple.com/us/app/example-appname/id1234567890?ppid=eb2b3606-2fef-4aab-a54e-b2e5547c9bc3

Use that full URL in social posts, email, QR codes, your website and influencer briefs. Attribution and ad tools usually ask for the ID alone, the string after ppid=. In apps that show your product page with StoreKit, pass the same ID as customProductPageIdentifier on SKOverlay or SKStoreProductParameterCustomProductPageIdentifier on SKStoreProductViewController.

A deep link sends people who tap Open on the page to a specific screen, so someone who came for the 5k plan lands on the 5k plan. Apple's rules:

  • It works on iOS 18 and iPadOS 18 or later.
  • Use a universal link (recommended) or a custom URL scheme, without URL shorteners or redirects.
  • Test it by pasting it into Notes and tapping it.
  • It must be approved, so submit the page for review after adding it.

A deep link on a custom product page is fixed per page. Developers on the Apple Developer Forums have asked whether it can carry extra parameters, such as an invite code from the page URL into the app; the thread has no answer. If you need per-user data after install, you still need deferred deep linking, which our Firebase Dynamic Links alternatives guide covers.

Where to use custom product pages

Apple lists several places a custom product page can show up:

  • Your own channels: links in social posts, ads, promotions and email.
  • Search: for the keywords you assign.
  • Apple Ads: search results ads can use ad variations built on different custom product pages, and Today tab and Search tab ads can use them too. Our guide to Apple Ads on a small budget covers when that is worth paying for.
  • Editorial: pages "can appear in editorially curated stories and collections on the Today, Games, and Apps tabs."
  • In-app and web ads: StoreKit-rendered ads in other apps can point at a page with its ID.

Review, analytics and testing

Every page's metadata goes through App Review, and screenshots and previews must meet the usual specifications. Our App Store screenshot sizes guide has the current list, and the App Store rejection reasons guide covers what gets metadata rejected.

In App Analytics, the Acquisition tab breaks down impressions, downloads, redownloads and conversion rate per page, plus retention and average proceeds per paying user, so you can see whether a page brings people who stay and pay. Numbers appear once a page has at least five first-time downloads. Our App Store Connect analytics guide explains the metrics.

Custom product pages are not A/B tests. Each page gets its own traffic, chosen by link or keyword, so you cannot compare two pages on the same audience. To test a new screenshot set against your default on the same visitors, use product page optimization; our App Store A/B testing guide covers it.

List every page and URL with the App Store Connect API

With 70 pages, a spreadsheet of names, URLs and visibility drifts out of date fast. Apple's API has an endpoint for it, GET /v1/apps/{id}/appCustomProductPages, which returns each page's name, url and visible. This script needs only Node.js 18 or later and an App Store Connect API key:

// list-custom-product-pages.mjs
// Usage: ASC_KEY_ID=... ASC_ISSUER_ID=... ASC_KEY_FILE=AuthKey.p8 node list-custom-product-pages.mjs <appId>
import { createPrivateKey, sign } from 'node:crypto';
import { readFileSync } from 'node:fs';

const { ASC_KEY_ID, ASC_ISSUER_ID, ASC_KEY_FILE } = process.env;
const appId = process.argv[2];

const b64url = (value) => Buffer.from(value).toString('base64url');

function token() {
  const now = Math.floor(Date.now() / 1000);
  const header = b64url(JSON.stringify({ alg: 'ES256', kid: ASC_KEY_ID, typ: 'JWT' }));
  const payload = b64url(
    JSON.stringify({ iss: ASC_ISSUER_ID, iat: now, exp: now + 15 * 60, aud: 'appstoreconnect-v1' }),
  );
  const key = createPrivateKey(readFileSync(ASC_KEY_FILE));
  const signature = sign('sha256', Buffer.from(`${header}.${payload}`), { key, dsaEncoding: 'ieee-p1363' });
  return `${header}.${payload}.${signature.toString('base64url')}`;
}

let url = `https://api.appstoreconnect.apple.com/v1/apps/${appId}/appCustomProductPages?limit=200`;
const headers = { Authorization: `Bearer ${token()}` };
const pages = [];
while (url) {
  const response = await fetch(url, { headers });
  if (!response.ok) throw new Error(`${response.status} ${await response.text()}`);
  const body = await response.json();
  pages.push(...body.data);
  url = body.links?.next;
}

console.log(`${pages.length} of 70 custom product pages`);
for (const { attributes: page } of pages) {
  console.log(`${page.visible ? 'visible' : 'hidden '}  ${page.name.padEnd(28)} ${page.url}`);
}

It prints one line per page, ready to paste into a campaign tracker. Against a test response with three pages (IDs shortened here), the output looks like this:

3 of 70 custom product pages
visible  Running - search             https://apps.apple.com/us/app/name/id01234?ppid=...
visible  Strength - Meta ads          https://apps.apple.com/us/app/name/id01234?ppid=...
hidden   Holiday 2026 draft           https://apps.apple.com/us/app/name/id01234?ppid=...

The same API can create pages, versions, localizations, screenshot sets and preview sets, documented under Custom Product Pages and Localizations, which is how teams with many locales keep pages in sync.

Google Play's version: custom store listings

Google Play has had the same idea for longer, with more freedom. From Google's custom store listings help:

App Store custom product pages Google Play custom store listings
How many Up to 70 Up to 50
What can change Screenshots, previews, promotional text, keywords, deep link Name, icon, short and full description, graphics
Who sees it Link visitors, assigned keywords, Apple Ads Country, search keywords, pre-registration, Google Ads ad groups, churned or lapsed users, buyer segments, unique URL
URL ?ppid=<id> &listing=<parameter>
Review App Review for each page Play review

Google adds one warning worth copying to your own checklist: custom listings "aren't automatically translated," so add translations or people see the listing's default language. Our Google Play short description guide covers the field you will most often change per listing.

Your custom product pages checklist

  • Three to five reasons to install, each with its own page and reference name.
  • The keywords for each reason are in your latest approved keyword field.
  • Each keyword combination assigned to exactly one page; the default page is the fallback.
  • First three screenshots and the promotional text match the page's reason.
  • Localized screenshots and promotional text for each language you sell in.
  • A universal link deep link to the matching screen, tested on iOS 18.
  • Page approved and set to visible.
  • Each campaign, ad and QR code uses its page's ppid URL.
  • Conversion, retention and proceeds per page checked in App Analytics after a few weeks.

Send traffic to the right page

A custom product page only helps the people who reach it, and every link you control is a chance to choose which page they see. When you list your app on the AppRanker leaderboard, each row is a click-through to your App Store page, and position on this pay-to-rank board is a plain sort on what each listing has paid. Our guides on how to promote your app for free and where to submit your app cover more places to put a page link. If your app sells subscriptions, our billing grace period guide covers keeping the subscribers those pages bring in.

FAQ

How many custom product pages can I create?

Up to 70 published at a time per app, in addition to your default product page. Apple raised the limit from 35 on October 29, 2025.

Yes. Assign keywords from your latest approved keyword field to a page, and once the page is approved and visible, it can replace your default page in results for those keywords. Each keyword combination can only be assigned to one page.

What can I change on a custom product page?

Screenshots, app previews, promotional text, keywords and a deep link. The app name, subtitle, icon and description are shared with your default page.

Do custom product pages need App Review?

Yes. Every page and every edit is reviewed, and you can submit them separately from an app update. Pages are not visible until approved.

How do I find a custom product page's URL or ID?

App Store Connect shows the URL on the page when you create it. The ID is the value of the ppid parameter at the end of the URL. The App Store Connect API also returns both.

What is the difference between custom product pages and product page optimization?

Product page optimization is an A/B test: it splits visitors to your default page between up to three treatments. Custom product pages are separate pages that people reach through a specific link, keyword or ad, and they are not randomized.

Image credits

Filed under

  • ASO
  • App Store
  • App promotion
All articles