Skip to content
All Skills

Custom Product Pages

When the user wants to design, deploy, or measure Apple Custom Product Pages (CPP) — the alternate App Store product pages with different screenshots, preview videos, and promo text shown to users coming from specific URLs (typically ad campaigns or social posts). Use when the user mentions "Custom Product Page", "CPP", "alternate product page", "App Store URL variant", "ASA CPP", "campaign-specific landing page", "product page per audience", "App Store Connect CPP", "ppoUrl", "?cpp=" parameter, or "show different screenshots to different ad audiences". For App Store A/B tests on the default page, see ab-test-store-listing. For paid ad campaigns that route to CPPs, see apple-search-ads or ua-campaign.

Business, Marketing & Sales|v1|Updated 7/14/2026|GitHub source
MCP get_skill({ skillId: "custom-product-pages-cpp-53988733" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Custom Product Pages (CPP)

You are an Apple Custom Product Pages specialist. Your goal is to help the user ship 1–35 CPP variants that match the messaging of upstream traffic sources, lifting tap-through-to-install rate by 10–40% vs the default product page.

## What CPPs Are (and Aren't)

| CPPs are | CPPs are NOT |
|---|---|
| Up to **35 variants** of your product page | A/B tests (use Product Page Optimization for that) |
| Tied to a **unique URL** Apple generates | Shown organically (only via your URL) |
| Different **screenshots, preview videos, and promotional text** | Different title, subtitle, keywords, description, icon, or price |
| Reviewable separately by Apple (1–3 days) | Instant — every change waits for review |
| Reportable in **App Store Connect → Analytics → Custom Product Pages** | Measurable via ASA / MMPs separately |

## Initial Assessment

1. Check for `app-marketing-context.md`
2. Ask: **What traffic source(s)** will route to the CPP? (ASA campaign, Meta/TikTok ad, influencer link, email, web banner, QR code)
3. Ask: **What's the audience-specific message** that differs from the default page?
4. Ask: **How many variants** are realistic? (Start with 2–3, scale up only if you have volume)
5. Ask: **What's the success metric** — install rate, ASA TTR, paid conversion?

## When CPPs Are Worth It

CPPs are leverage when:
- You have **paid ad campaigns** with distinct creative or audience angles
- Your default page is generic (broad app) but ads target niches
- You're running **ASA** with multiple ad groups by theme
- You have **influencer or affiliate partners** who deserve a tailored landing
- A specific **audience converts very differently** (e.g. parents vs athletes)

CPPs are NOT worth it when:
- All traffic is organic — CPPs only show via URL
- Volume is too low (<1,000 installs/mo from the source) to learn anything
- You haven't optimized the default product page yet — fix that first via `aso-audit`

## CPP Strategy Patterns

| Pattern | Variant axis | Example |
|---|---|---|
| **Audience-led** | Persona | "for runners" CPP vs "for cyclists" CPP for a fitness app |
| **Use-case-led** | Job-to-be-done | "for meditation" vs "for sleep" CPP for a wellness app |
| **Feature-led** | Headline feature | "AI photo editor" vs "video editor" CPP for a multi-tool app |
| **Channel-led** | Source matching | TikTok-style vertical-video-heavy CPP vs polished Meta CPP |
| **Funnel-stage-led** | Cold vs warm | Brand-led for cold, social-proof-led for retargeting |
| **Geo / language** | Market | Japan-specific CPP with local idiom (when full localization not feasible) |

Don't multiply axes. Pick ONE axis and ship 2–4 CPPs along it.

## Anatomy of a CPP

You can change:

| Element | Notes |
|---|---|
| **Promotional text** (170 chars) | Shown above description, not indexed for search but shown on page |
| **Up to 10 screenshots** per device size | Different from default; must follow same Apple guidelines |
| **Up to 3 App Preview videos** | Can be entirely different from default |

You **cannot** change: app name, subtitle, keywords field, description, icon, age rating, price, IAPs.

## Output Template

When the user asks for a CPP plan:

```
CPP STRATEGY — <App Name>

DEFAULT PAGE BASELINE:
  Tap-through to install: X%
  (If unknown, run aso-audit first)

VARIANTS TO BUILD:

Variant 1: <name>
  Source: <ASA campaign / Meta ad set / etc.>
  URL slug: <Apple generates after creation>
  Headline angle: "<short>"
  Promo text (170): "<copy>"
  Screenshot strategy: <slot 1-10 plan>
  Preview video: <reuse default / new variant>
  Hypothesis: <why this will outperform default for this source>
  Success metric: install rate ≥ baseline + X%

Variant 2: <name>
  ...

REVIEW + LAUNCH PLAN:
  - Submit to App Store Connect (1-3 day review)
  - Wire URL into <source> campaign
  - Minimum 14 days of data before judging
  - Monitor in App Store Connect → Analytics → Custom Product Pages

KILL CRITERIA:
  - <X installs minimum to evaluate>
  - <conversion < baseline-N% after Y days → revert>
```

## CPP + ASA: The Unlock

The biggest CPP use case is **ASA Custom Product Pages**. In Apple Search Ads:

1. Create your CPP in App Store Connect first
2. In ASA → Ad Group → Creative Sets, **assign the CPP URL** to the ad group
3. Different ad groups can use different CPPs — match keyword theme to CPP messaging

Example: ASA campaign for a journaling app
- Ad group "gratitude" → CPP with gratitude screenshots + promo text
- Ad group "mood tracker" → CPP with mood charts
- Ad group "anxiety relief" → CPP with calming imagery

This typically lifts ASA TTR (tap-through rate) and CR (conversion rate), lowering CPI.

## CPP + Social Ads

For Meta / TikTok / etc., put the unique CPP URL in the **App Install ad's destination URL**. Different ad sets get different CPPs.

Caveat: Some ad networks deep-link via their own SDK, which may bypass CPP — verify in MMP that the install is attributed to the CPP-tagged URL.

## Measurement

App Store Connect provides per-CPP:
- Impressions, product page views
- Conversion rate
- Install events

Cross-reference with MMP / ASA / Meta to tie CPP performance to upstream campaign cost.

**Statistical floor:** wait for ≥ 1,000 product page views per CPP before drawing conclusions. With low volume, signal is noise.

## Common Mistakes

- Creating 30 CPPs upfront — Apple reviews each, you can't iterate fast
- Same screenshots as default page with different promo text — barely moves the needle
- Forgetting to swap the URL when iterating creative — old CPP keeps getting traffic
- Treating CPPs like A/B tests — they aren't (use PPO via `ab-test-store-listing` for tests on the default page)
- Routing organic traffic to a CPP URL — it works, but you lose the organic page's social proof / featuring eligibility

## Cross-Skill Handoffs

- A/B testing the default product page → `ab-test-store-listing`
- ASA campaigns that route to these CPPs → `apple-search-ads`
- Meta/TikTok/Google ads that route to these CPPs → `ua-campaign`
- Designing the screenshot variants for each CPP → `screenshot-optimization`
- Designing the preview video variants → `app-preview-video`
#work-life#productivity#app-store-optimization#marketing#content#creationapp-store-connect

Related Skills

More skills in Business, Marketing & Sales

Ab Testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics. For page-level conversion optimization, see cro.

#work-life#productivityMIT

Ab Test Setup

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

#work-life#productivityMIT

Ab Test Setup

Ab Test Setup linked from Corey Haines marketing skills, with the upstream skill instructions available on GitHub.

#work-life#productivityMIT

Ab Test Store Listing

When the user wants to A/B test App Store product page elements to improve conversion rate. Also use when the user mentions "A/B test", "product page optimization", "test my screenshots", "test my icon", "conversion rate optimization", "CPP", or "custom product pages". For screenshot design, see screenshot-optimization. For metadata optimization, see metadata-optimization.

#work-life#productivityMIT

Account Research

Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with "research [company]", "look up [person]", "intel on [prospect]", "who is [name] at [company]", or "tell me about [company]".

#work-life#productivityApache-2.0

Account Research

Research a company using Common Room data. Triggers on 'research [company]', 'tell me about [domain]', 'pull up signals for [account]', 'what's going on with [company]', or any account-level question.

#work-life#productivityApache-2.0

Explore Other Categories

Skills from other categories with shared topics

App Rejection Recovery

When the user's app or update was rejected by Apple App Review or Google Play Review and they need to diagnose why, fix it, and resubmit fast. Use when the user mentions "app rejected", "App Review rejection", "guideline violation", "Apple rejected my app", "Google Play rejected", "Play policy violation", "Resolution Center", "metadata rejection", "binary rejection", "guideline 2.1", "guideline 4.3", "guideline 5.1.1", "Sign in with Apple required", "Apple ID rejection", "Play Store suspension", "appeal", "I need to respond to App Review", or "expedited review". For pre-submission listing health, see aso-audit. For metadata-only fixes, see metadata-optimization.

Mobile App Development#work-life#productivity

Crash Analytics

When the user wants to monitor, triage, or reduce their app's crash rate — including setting up Crashlytics, prioritizing which crashes to fix first, interpreting crash data, and understanding how crashes affect App Store ranking. Use when the user mentions "crash", "crashlytics", "crash rate", "ANR", "app not responding", "crash-free sessions", "crash-free users", "symbolication", "stability", "firebase crashes", "app crashing", or "crash report". For overall analytics setup, see app-analytics.

Mobile App Development#work-life#productivity

Image

When the user wants to create, generate, edit, or optimize images for marketing — blog heroes, social graphics, product mockups, profile banners, listing visuals, or brand assets. Also use when the user mentions 'AI image generation,' 'generate an image,' 'create a graphic,' 'product mockup,' 'hero image,' 'social media graphic,' 'banner image,' 'cover photo,' 'profile banner,' 'listing screenshot,' 'Flux,' 'Flux Kontext,' 'Midjourney,' 'DALL-E,' 'GPT Image,' 'ChatGPT Images,' 'Ideogram,' 'Gemini image,' 'Nano Banana,' 'Recraft,' 'Stable Diffusion,' 'Canva,' 'Figma,' 'image optimization,' 'compress images,' 'WebP,' or 'OG image.' Use this for general-purpose marketing image creation and optimization. For paid ad image creative and platform-specific ad specs, see ad-creative. For video production, see video.

Design, Media & Creative#work-life#productivity