DEV Community

Shotlingo
Shotlingo

Posted on • Originally published at shotlingo.com

How Apple Custom Product Pages Work With Localization (2026 Guide)

How Apple Custom Product Pages Work With Localization (2026 Guide)

If you are running App Store ads or growth experiments in 2026, custom product pages localization is the single most underused lever in ASO. Apple Custom Product Pages (CPP) launched with iOS 15 and gave every developer up to 35 alternate versions of their product page, each with unique screenshots, app preview videos, and promotional text. What most teams forget is that every CPP is itself a per locale object. A CPP built for the US market is not the same asset as a CPP built for Japan, and the moment you treat them as the same, you start leaving installs on the table.

This guide explains how CPP and localization interact, the realistic math behind a 35 by 40 grid of variants, the field-by-field strategy that actually moves conversion, and the App Store Connect workflow for shipping a properly localized CPP. If you have not read our broader Apple Custom Product Pages guide yet, start there for the fundamentals. This post picks up where that one ends.

Why Custom Product Pages Localization Is the Most Overlooked ASO Lever

Walk into any growth team and ask how many CPPs they run. You will usually hear a confident answer between five and fifteen. Ask how many of those CPPs are localized into the markets that drive 60 percent of their non-US traffic and the room goes quiet. This is the gap. Teams treat CPP as an English-first creative testing tool when it is in fact a per locale conversion tool.

The reason custom product pages localization gets skipped is partly cost and partly process. Localizing one default product page already feels like a project. Localizing fifteen CPPs into five languages can sound like sixty separate creative deliverables. In reality it is closer to fifteen real briefs plus a translation pipeline, and the conversion lift is usually large enough to pay for itself inside one ad campaign. According to Apple's official documentation, every CPP supports the same locales as your default product page, which means the infrastructure is already there. You just have to use it.

If you are still framing localization as a translation problem, read our pillar on what ASO looks like in 2026. Modern ASO is locale-native, not English-translated.

How Custom Product Pages and Localization Interact

To use this lever well, you need a precise mental model of how the two systems combine.

One CPP, many locales

When you create a CPP in App Store Connect, Apple gives you a Default version. That default acts as the fallback for any locale you have not explicitly filled in. Then for every locale your default product page supports, you can choose to override the screenshots, app preview videos, and promotional text. The override is per locale, per CPP, and per field. You can localize screenshots only and let the promotional text fall back to the default, or vice versa, although mixing fallback behavior is usually a sign you have not finished the job.

Each localized CPP variant gets the same ppid URL parameter as its parent CPP. The locale is resolved by the user's App Store storefront, not by the URL. That means a single CPP link sent to a Japanese user surfaces the Japanese variant automatically, as long as that variant exists. If it does not, the user sees the Default in English, and you have just wasted ad spend.

The 35 by 40 math

Apple allows up to 35 CPPs per app, and your product page can support up to roughly 40 locales depending on regional availability. On paper this is 1,400 possible variants. In practice almost nobody should attempt to fill that grid. The interesting question is not the maximum, it is the smallest set that captures most of the upside.

The realistic answer almost always lands between 10 and 20 fully localized CPPs. Beyond that you start fighting diminishing returns, and the operational cost of keeping each variant fresh begins to exceed the conversion benefit.

Realistic Custom Product Pages Localization Strategy

The strategy that works in 2026 is to compound personas and locales rather than testing them in isolation.

Pick 3 personas, top 5 locales, 15 high-impact CPPs

Identify your three highest-value user personas. For a fitness app this might be beginners, runners, and strength trainers. For a finance app it might be students, freelancers, and small business owners. Then identify your top five revenue or install locales. The cross product gives you fifteen CPPs, each tightly targeted in both audience and language. This is the sweet spot we see most teams converge on.

  | Market 
  | Locale code 
  | Why it matters 
  | Translation priority 
  | Notes 




  | United States 
  | en-US 
  | Highest paid ad CPM, default revenue market 
  | Source 
  | Build the master CPP here, then branch. 


  | Japan 
  | ja 
  | High ARPU, strong CPP lift when localized natively 
  | Critical 
  | See our [Japanese screenshot localization workflow](/localize/app-store-screenshots-to-japanese). 


  | Germany 
  | de-DE 
  | Largest European market, text expansion is real 
  | Critical 
  | Check our [German localization guide](/localize/app-store-screenshots-to-german) for length issues. 


  | South Korea 
  | ko 
  | Mobile-first, paid ads convert well with native creative 
  | High 
  | Hangul changes both layout and reading rhythm. 


  | France 
  | fr-FR 
  | Strong organic traffic, sensitive to English-only ads 
  | High 
  | Translate promotional text first if budget is tight. 
Enter fullscreen mode Exit fullscreen mode

Run each persona across all five locales and you have fifteen CPPs that map directly to fifteen ad sets. This is where custom product pages localization stops being theory and starts being a campaign-level multiplier. Localized CPP for paid ads, when the ad creative language matches the destination CPP language, regularly drives a 30 to 50 percent conversion lift versus pointing the same ad at the Default English page.

Which fields actually change per locale

Not every field needs the same level of attention. In order of impact:

  • Screenshots. The biggest lever. Native fonts, native copy, native cultural cues. Use our text expansion calculator before you finalize layouts in German or Russian.
  • App preview video. Subtitles are the minimum, dubbed voiceover is the ceiling. For high-value locales like Japan and Korea, subtitles alone tend to underperform.
  • Promotional text. The most commonly forgotten field. Many teams ship beautifully localized screenshots while the promotional text sits in English. Apple updates this field independently of the binary, so there is no excuse.
  • App name and subtitle. These come from your default product page, not the CPP itself. Make sure your localization base is solid before stacking CPP variants on top of it. The localization hub covers this.

Common Custom Product Pages Localization Mistakes

After auditing hundreds of accounts, the same five mistakes show up over and over.

  • Mistake one. Localizing screenshots but leaving promotional text in English. The user reads the screenshots in their language, then hits a wall of English at the bottom. Trust drops, conversion drops.
  • Mistake two. Treating CPP locales as a translation job rather than a transcreation job. Direct translation of an English headline rarely lands. Briefs should give translators room to rewrite.
  • Mistake three. Building too many CPPs and localizing none of them. Fifteen English-only CPPs is almost always worse than five fully localized CPPs.
  • Mistake four. Ignoring text expansion. German runs 20 to 35 percent longer than English. Russian and Finnish are similar. If your English layout is tight, your German layout will break. Validate every screenshot.
  • Mistake five. Forgetting to refresh the Default. If a user lands on your CPP from an ad targeted at a locale you have not localized, they see the Default. A stale Default is a quiet conversion killer.

Setting Up a Localized CPP in App Store Connect (step by step)

The current App Store Connect flow is straightforward once you have your assets ready.

  • In App Store Connect, open your app and go to the App Store tab. Select Custom Product Pages in the left sidebar.
  • Click Create, name the CPP something descriptive, and choose the version it should attach to.
  • Apple opens the CPP editor on the Default view. Build your master English version here first. This is your fallback for any locale you do not explicitly fill in.
  • Use the Default versus Localized toggle near the top of the editor. Switching to Localized exposes the same locale list you have on your main product page.
  • Pick a locale, for example Japanese. Upload the localized screenshots, swap the app preview video if you have one, and rewrite the promotional text in native Japanese. Do not paste machine-translated output here. The promotional text is short enough that a careful human pass pays back quickly.
  • Repeat per locale. Save each one. Apple lets you submit the CPP for review independently of your binary, which keeps the iteration loop fast.
  • After approval, copy the CPP URL with its ppid parameter and use it as the destination for your Apple Search Ads or paid social campaigns targeted at that locale.

Apple's CPP setup documentation covers the exact UI in more detail if you want to bookmark it next to App Store Connect.

Measuring Localized CPP Performance

The right metrics depend on where the traffic comes from, but the core dashboard looks similar for everyone.

  • Conversion rate per CPP per locale. App Store Connect breaks this out natively. Compare each localized CPP against your Default product page in the same locale, not against the English Default.
  • Paid traffic conversion lift. Run an A/B between ads pointed at the localized CPP versus ads pointed at the Default product page in that locale. A 30 to 50 percent lift is the usual range when the localization is done well. Anything under 10 percent means the screenshots are probably translated rather than transcreated.
  • Retention quality by CPP. Sometimes a localized CPP drives lower install volume but materially better day 7 retention because it qualifies users more honestly. Track this.
  • Time to first review per locale. Localized CPPs tend to surface friction faster because users feel comfortable enough to write reviews in their own language.

If a localized CPP underperforms the Default in its own locale, the problem is almost always one of three things. The translation is too literal, the promotional text was forgotten, or the screenshots use cultural references that do not transfer. Fix in that order.

FAQ

Do I need to localize every CPP into every locale my app supports?

No. Localize only the locales where you actually plan to send traffic. Sending an ad campaign to a locale where the CPP has not been localized is fine because Apple falls back to the Default. What is not fine is localizing into a market you have no campaign or organic strategy for. Focus on the five locales where you actually spend money or have meaningful organic visibility.

Can I update a localized CPP without resubmitting the binary?

Yes. CPPs and their localized variants are reviewed independently from app binaries. You can iterate on screenshots, promotional text, and preview videos without shipping a new version of the app, which is exactly why CPP is such a fast feedback loop.

What is the difference between a localized CPP and a localized default product page?

The default product page is the page Apple shows for organic traffic. A CPP is an alternate version that only appears when a user follows a CPP-specific link with a ppid parameter. Both can be localized. The default product page is your organic foundation. CPPs are your paid and campaign-specific overlays on top of that foundation.

Ship localized CPPs without the manual grind

The math of custom product pages localization is brutal if you do it by hand. Fifteen CPPs across five locales is seventy-five screenshot sets, plus promotional text, plus video subtitles. Shotlingo automates the screenshot layer end to end, including text expansion checks, native font handling, and per locale templating. You design once in your source language and ship a fully localized set ready for upload to App Store Connect.

Create your free Shotlingo account and turn one set of source screenshots into fifteen high-converting localized CPP variants this week.


Originally published on Shotlingo

Top comments (0)