Custom Product Pages
Point a campaign at the App Store listing written for it, so the screenshots and the opening line match the ad that was tapped.
An App Store Custom Product Page is an alternative listing for the same app: different screenshots, a different opening line, its own Apple identifier. You write them in App Store Connect. Vouch sends a link's store traffic to the one you choose, so somebody who taps a summer campaign lands on the page written for that campaign rather than on your evergreen listing.
iOS only. Google Play has no equivalent mechanism, so Android store redirects are unaffected and nothing you set here changes them.
Register a page
Vouch does not invent the page; it points at one you already made. Each registration is a name you will recognise and Apple's identifier for the page.
The identifier is a UUID. In App Store Connect, open your app, go to the Custom Product Pages section, and open the page. The UUID is in the browser's address bar, in the part of the URL that names the page, and Apple also shows it beside the page. Copy and paste it; a typo is refused when you save rather than becoming a store URL that quietly serves the default listing.
curl -X POST https://api.vouch.dev/v1/apps/app_123/product-pages \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{"name":"Summer campaign","ppid":"3a5e4f1c-2b7d-4c9e-8f10-1a2b3c4d5e6f"}'In the dashboard the same list is on Links → Settings, where you can add pages, rename them and remove them. Renaming changes the label only. The identifier is Apple's, and changing it would point traffic at a different listing.
Registering a page you have already registered returns the one that is there rather than failing. That is somebody clicking twice, not an error.
Which page a link uses
Three levels, first match wins:
| Order | Source | Set where |
|---|---|---|
| 1 | The page this link selects | The link editor, or custom_product_page_id on the link |
| 2 | The app default | Links → Settings, or default_custom_product_page_id on app settings |
| 3 | Your plain App Store listing | Nothing set at either level |
Set the app default to the page most of your traffic should see, then override it on the few links that have their own artwork. The link editor only shows the selector once the app has at least one registered page.
curl -X PATCH https://api.vouch.dev/v1/apps/app_123/settings \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{"default_custom_product_page_id":"cpp_evergr0"}'A link may only select a page registered to its own app. An identifier from anywhere else is refused when you save it, because the resolver would otherwise put it in a store URL where it would silently do nothing.
What reaches the App Store
When a page applies, Vouch adds Apple's ppid parameter to the store URL you configured:
https://apps.apple.com/app/id123456789?mt=8
→ https://apps.apple.com/app/id123456789?mt=8&ppid=3a5e4f1c-2b7d-4c9e-8f10-1a2b3c4d5e6fOnly that one parameter is set. Anything already on your store URL (mt, an affiliate code, your
own campaign token) is left exactly as it was. Non-Apple URLs are not touched at all.
When a page disappears
Deleting a page in Vouch does not delete it in App Store Connect, and deleting it in App Store Connect does not tell Vouch. Both directions fail quietly rather than breaking:
- Removed in Vouch. Links that pointed at it fall back to the app default, and the app default falls back to your plain listing. No link stops working and nothing carrying traffic is deleted.
- Deleted in Apple's console. Vouch keeps sending the identifier, Apple no longer recognises it, and the App Store serves your default listing. Traffic lands, the campaign artwork does not. If a campaign suddenly looks generic, check whether the page still exists in App Store Connect.
Keeping registered names in step with App Store Connect automatically, and flagging pages deleted there, needs App Store Connect API credentials and is specified separately.