askill
gplay-ppp-pricing

gplay-ppp-pricingSafety 65Repository

Set region-specific pricing for subscriptions and in-app purchases using purchasing power parity (PPP). Use when adjusting prices by country or implementing localized pricing strategies on Google Play.

3 stars
1.2k downloads
Updated 2/7/2026

Package Files

Loading files...
SKILL.md

PPP Pricing (Per-Region Pricing)

Use this skill to set different prices for different countries based on purchasing power parity or custom pricing strategies.

Preconditions

  • Ensure credentials are set (gplay auth login --service-account or GPLAY_SERVICE_ACCOUNT env var).
  • Use GPLAY_PACKAGE or pass --package explicitly.
  • Know your base region (usually US) and base price.

PPP Multiplier Table

Apply these multipliers to the base USD price. Round all results to .99 endings (e.g., $4.73 → $4.99, ₹249.37 → ₹249.99).

Tier 1 — Full Price (1.0x–1.1x)

RegionCodeMultiplierCurrency
United StatesUS1.0xUSD
United KingdomGB1.0xGBP
GermanyDE1.0xEUR
AustraliaAU1.0xAUD
SwitzerlandCH1.1xCHF
CanadaCA1.0xCAD
NetherlandsNL1.0xEUR
SwedenSE1.0xSEK
NorwayNO1.05xNOK
DenmarkDK1.0xDKK

Tier 2 — Medium (0.6x–0.8x)

RegionCodeMultiplierCurrency
FranceFR0.8xEUR
SpainES0.7xEUR
ItalyIT0.7xEUR
JapanJP0.8xJPY
South KoreaKR0.7xKRW
PolandPL0.6xPLN
PortugalPT0.7xEUR
Czech RepublicCZ0.6xCZK
GreeceGR0.65xEUR
ChileCL0.6xCLP
Saudi ArabiaSA0.8xSAR
UAEAE0.8xAED

Tier 3 — Low (0.3x–0.5x)

RegionCodeMultiplierCurrency
IndiaIN0.3xINR
BrazilBR0.5xBRL
MexicoMX0.45xMXN
IndonesiaID0.3xIDR
TurkeyTR0.35xTRY
VietnamVN0.3xVND
PhilippinesPH0.35xPHP
EgyptEG0.3xEGP
ColombiaCO0.4xCOP
ArgentinaAR0.3xARS
NigeriaNG0.3xNGN
PakistanPK0.25xPKR
ThailandTH0.4xTHB
MalaysiaMY0.45xMYR
South AfricaZA0.4xZAR
UkraineUA0.3xUAH

Workflow: Set PPP-Based IAP Pricing

1. List in-app products

gplay iap list --package "PACKAGE"

2. Get current product details

gplay iap get --package "PACKAGE" --sku "SKU"

Note the current defaultPrice as your base price.

3. Build PPP-adjusted prices JSON

Using the base USD price and the multiplier table, compute per-region prices. Round all values to .99 endings.

Example: Base price $9.99 USD → India (0.3x) = ₹249.99, Brazil (0.5x) = R$24.99

{
  "sku": "premium_upgrade",
  "defaultPrice": {
    "priceMicros": "9990000",
    "currency": "USD"
  },
  "prices": {
    "US": { "priceMicros": "9990000", "currency": "USD" },
    "IN": { "priceMicros": "2499900", "currency": "INR" },
    "BR": { "priceMicros": "24990000", "currency": "BRL" },
    "MX": { "priceMicros": "4490000", "currency": "MXN" },
    "TR": { "priceMicros": "3490000", "currency": "TRY" },
    "ID": { "priceMicros": "2990000", "currency": "IDR" },
    "JP": { "priceMicros": "7990000", "currency": "JPY" },
    "KR": { "priceMicros": "6990000", "currency": "KRW" },
    "GB": { "priceMicros": "9990000", "currency": "GBP" },
    "DE": { "priceMicros": "9990000", "currency": "EUR" }
  }
}

4. Update the product

gplay iap update \
  --package "PACKAGE" \
  --sku "SKU" \
  --json @ppp-prices.json

5. Verify prices

gplay iap get --package "PACKAGE" --sku "SKU"

Review the prices map to confirm all regions are set correctly.

Workflow: Set PPP-Based Subscription Pricing

1. List subscriptions

gplay subscriptions list --package "PACKAGE"

2. Get current subscription details

gplay subscriptions get --package "PACKAGE" --product-id "PRODUCT_ID"

Note the base plans and their current regionalConfigs.

3. Build PPP-adjusted subscription JSON

Apply PPP multipliers equally to ALL base plans. Round to .99 endings.

Example: Monthly $4.99, Yearly $49.99 with PPP for India (0.3x) and Brazil (0.5x):

{
  "productId": "premium_monthly",
  "basePlans": [
    {
      "basePlanId": "monthly",
      "regionalConfigs": [
        { "regionCode": "US", "price": { "priceMicros": "4990000", "currency": "USD" } },
        { "regionCode": "IN", "price": { "priceMicros": "1490000", "currency": "INR" } },
        { "regionCode": "BR", "price": { "priceMicros": "2490000", "currency": "BRL" } }
      ],
      "autoRenewingBasePlanType": { "billingPeriodDuration": "P1M" }
    },
    {
      "basePlanId": "yearly",
      "regionalConfigs": [
        { "regionCode": "US", "price": { "priceMicros": "49990000", "currency": "USD" } },
        { "regionCode": "IN", "price": { "priceMicros": "14990000", "currency": "INR" } },
        { "regionCode": "BR", "price": { "priceMicros": "24990000", "currency": "BRL" } }
      ],
      "autoRenewingBasePlanType": { "billingPeriodDuration": "P1Y" }
    }
  ]
}

4. Update the subscription

gplay subscriptions update \
  --package "PACKAGE" \
  --product-id "PRODUCT_ID" \
  --json @ppp-subscription.json

5. Verify prices

gplay subscriptions get --package "PACKAGE" --product-id "PRODUCT_ID"

Review all regionalConfigs across all base plans to confirm prices are correct.

Workflow: Migrate Existing Subscriber Prices

When updating PPP prices on subscriptions with active subscribers, new prices only apply to new subscribers. To migrate existing subscribers:

1. Update prices (steps above)

2. Migrate existing subscribers to new prices

gplay baseplans migrate-prices \
  --package "PACKAGE" \
  --product-id "PRODUCT_ID" \
  --base-plan "BASE_PLAN_ID" \
  --json @migration.json

3. Repeat for each base plan

Apply migration to every base plan that had its prices changed:

# Monthly plan
gplay baseplans migrate-prices \
  --package "PACKAGE" \
  --product-id "PRODUCT_ID" \
  --base-plan monthly \
  --json @migration.json

# Yearly plan
gplay baseplans migrate-prices \
  --package "PACKAGE" \
  --product-id "PRODUCT_ID" \
  --base-plan yearly \
  --json @migration.json

4. Verify migration

gplay subscriptions get --package "PACKAGE" --product-id "PRODUCT_ID"

Updating Existing PPP Prices

To change a region's price:

  1. Get the current product/subscription to see existing prices.
  2. Recompute the PPP-adjusted price with the new base price or new multiplier.
  3. Update with the modified JSON (include all regions, not just the changed ones).
  4. For subscriptions with active subscribers, run migrate-prices for each affected base plan.
  5. Verify with a fetch + summary review.

Batch PPP for Multiple Products

Multiple IAPs

# Build a JSON file with PPP prices for each SKU
gplay iap batch-update \
  --package "PACKAGE" \
  --json @ppp-all-iaps.json

Multiple subscriptions

Update each subscription individually:

gplay subscriptions update --package "PACKAGE" --product-id "sub_1" --json @ppp-sub1.json
gplay subscriptions update --package "PACKAGE" --product-id "sub_2" --json @ppp-sub2.json

Common PPP Strategies

BigMac Index Approach

Adjust prices based on relative purchasing power:

  • USA: $9.99 (baseline)
  • India: $2.99 (~70% discount)
  • Brazil: $4.99 (~50% discount)
  • UK: $9.99 (similar)
  • Switzerland: $10.99 (premium)

Tiered Regional Pricing

Group countries into pricing tiers:

  • Tier 1 (Full): USA, UK, Germany, Australia, Switzerland, Canada
  • Tier 2 (Medium): France, Spain, Italy, Japan, South Korea, Saudi Arabia
  • Tier 3 (Low): India, Brazil, Mexico, Indonesia, Turkey, Vietnam, Egypt

Revenue Optimization

  • Start with Tier 3 discounts to capture volume in price-sensitive markets.
  • Monitor conversion rates per region after applying PPP.
  • Adjust multipliers based on actual revenue data.

Notes

  • Price changes for subscriptions apply immediately to new subscribers.
  • Existing subscribers require explicit price migration via migrate-prices.
  • Use gplay pricing convert for currency conversion reference, but apply PPP multipliers on top.
  • Always verify prices after updates by fetching the product and reviewing the summary.
  • The PPP multiplier table provides starting points — adjust based on your market data and revenue goals.

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

84/100Analyzed 4/5/2026

High-quality technical skill for setting region-specific PPP pricing on Google Play. Contains detailed multiplier tables, multiple complete workflows with executable CLI commands, JSON examples, and strategies. Well-structured and actionable. Minor gaps: no safety warnings for price changes, tags somewhat mismatched. Scores well on clarity, actionability, and completeness.

65
95
70
90
92

Metadata

Licenseunknown
Version-
Updated2/7/2026
Publishertamtom

Tags

ci-cdgithub-actionssecurity