gpd-ppp-pricing
Scannednpx machina-cli add skill rudrankriyam/app-store-connect-cli-skills/gpd-ppp-pricing --openclawPPP Pricing (Per-Region Pricing)
Use this skill to set different prices per region for subscriptions and one-time products.
Preconditions
- Ensure credentials are set (
GPD_SERVICE_ACCOUNT_KEY). - Use
--packageexplicitly. - Know target region codes and price micros.
Subscription base plan pricing
Migrate prices for a base plan
gpd monetization baseplans migrate-prices --package com.example.app sub123 plan456 --region-code US --price-micros 9990000
Batch migrate prices
gpd monetization baseplans batch-migrate-prices --package com.example.app sub123 --file migrate.json
Example migrate.json:
{
"requests": [
{
"basePlanId": "plan456",
"regionalPriceMigrations": [
{
"regionCode": "US",
"priceMicros": 9990000
}
]
}
],
"regionsVersion": {
"version": "2024-01-01"
}
}
One-time products pricing
gpd monetization onetimeproducts create --package com.example.app --product-id sku123 --type consumable
gpd monetization onetimeproducts update --package com.example.app sku123 --default-price 1990000
Offers and regional variants
gpd monetization offers list --package com.example.app sub123 plan456
gpd monetization offers create --package com.example.app sub123 plan456 --offer-id offer789 --file offer.json
gpd monetization offers batchUpdate --package com.example.app sub123 plan456 --file offers.json
Verify current pricing
gpd monetization subscriptions get sub123 --package com.example.app
gpd monetization baseplans batch-update-states --package com.example.app sub123 --file states.json
Notes
- Use
priceMicrosvalues to avoid rounding errors. - Keep region codes consistent (for example:
US,GB,IN,BR). - Use batch files for large region sets to avoid partial updates.
Source
git clone https://github.com/rudrankriyam/app-store-connect-cli-skills/blob/main/skills/gpd-ppp-pricing/SKILL.mdView on GitHub Overview
This skill lets you set region-specific prices for Google Play subscriptions and one-time products using gpd monetization commands. It supports PPP pricing strategies and territory-based adjustments, helping you manage pricing across multiple regions with precision.
How This Skill Works
Use gpd monetization commands to migrate and batch-update prices at the region level. Prices are provided in priceMicros to avoid rounding errors, and you must specify the target package. Typical flow includes migrating base plan prices, updating onetime products, configuring offers and regional variants, then verifying results with status checks.
When to Use It
- When you need to set or adjust prices by territory for a Google Play base plan or subscription
- When implementing PPP (per-region pricing) strategies across multiple regions
- When migrating or batch-updating prices using a JSON file (migrate.json)
- When configuring onetime product pricing and regional variants via offers
- When verifying current pricing and states after updates
Quick Start
- Step 1: Ensure credentials (GPD_SERVICE_ACCOUNT_KEY) are set and specify the target --package
- Step 2: Choose a flow (migrate-prices, batch-migrate-prices, or update a onetime product) and run the corresponding command
- Step 3: Verify results with get or batch-update-states to confirm pricing changes took effect
Best Practices
- Ensure GPD_SERVICE_ACCOUNT_KEY credentials are set before running commands
- Always pass --package explicitly to target the correct app
- Use priceMicros values to avoid rounding errors
- Keep region codes consistent (e.g., US, GB, IN, BR)
- Use batch files for large region sets to avoid partial updates
Example Use Cases
- gpd monetization baseplans migrate-prices --package com.example.app sub123 plan456 --region-code US --price-micros 9990000
- gpd monetization baseplans batch-migrate-prices --package com.example.app sub123 --file migrate.json
- gpd monetization onetimeproducts update --package com.example.app sku123 --default-price 1990000
- gpd monetization offers create --package com.example.app sub123 plan456 --offer-id offer789 --file offer.json
- gpd monetization subscriptions get sub123 --package com.example.app