Product Editor CSV format
Columns and row types for Product Editor App Store and Play Store files
Download a file from Product Editor and treat that export as the template. This page explains what each row and column means.
To see the full column layout without generating an export first, download a filled-in example:
- App Store sample CSV (
rc_pro_monthlyandrc_pro_yearly) - Play Store sample CSV (
pro:monthlyandpro:yearly)
These samples are examples of the format, not a catalog to upload. Identifiers, prices, and territories must match the app you are editing.
Edit one store per file. App Store exports do not include Play Store columns, and Play Store exports do not include App Store columns. Mixing stores in one upload is not supported.
How rows are grouped
Every row belongs to a product identified by store + store_identifier.
row_type | What it describes |
|---|---|
product | Product-level fields: type, title, duration, store-specific settings |
price | One territory’s price and availability |
localization | One locale’s name and description |
offer | A free trial or Play Store offer |
Leave a cell blank or unchanged to keep the current store value. Amounts are ordinary decimal prices (9.99), not micros.
store_identifier is the store product ID:
- App Store: the product ID (for example
rc_pro_monthly) - Play Store:
subscriptionId:basePlanId(for examplepremium:monthly)
Example
A minimal App Store price update (other columns omitted for readability):
row_type | store | store_identifier | product_type | duration | territory | amount | currency | available |
|---|---|---|---|---|---|---|---|---|
product | app_store | rc_pro_monthly | subscription | P1M | ||||
price | app_store | rc_pro_monthly | United States | 9.99 | USD | true |
Territories in the export use country names (United States, Germany). You can also use ISO 2-letter codes (US, DE) on upload.
Shared columns
These appear for both App Store and Play Store files.
| Column | Used on | Description |
|---|---|---|
row_type | all | product, price, localization, or offer |
store | all | app_store or play_store |
store_identifier | all | Store product ID (see above) |
product_type | product | For example subscription, consumable, non_consumable |
display_name | product | Name in the RevenueCat dashboard |
title | product | Store title |
duration | product | Billing period as ISO 8601 duration (P1W, P1M, P3M, P6M, P1Y) |
territory | price, some offer rows | Country for this price or offer availability |
amount | price | Price in the territory’s currency |
currency | price | ISO currency code (for example USD, EUR) |
start_date | price, App Store offer | When the price or App Store trial starts (YYYY-MM-DD). Empty starts an App Store trial today. Draft prices can omit it. Approved App Store subscription price changes need a future date. |
available | price, some offer rows | true or false. Whether the product (or offer) is available in that territory |
available_in_new_territories | product | true or false. Sell in territories Apple or Google add later |
locale | localization | Locale code (for example en-US) |
localized_name | localization | Customer-facing name for that locale |
localized_description | localization | Customer-facing description for that locale |
trial_offer_duration | offer | Trial length as ISO 8601 duration (for example P7D, P1M). Used for App Store free trials and Play Store trial offers. |
start_date is the only date column. Exports prefix the value with ' (for example '2026-09-01) so Excel keeps it as text. Play Store offers do not use start_date.
App Store columns
Present only on App Store exports.
| Column | Used on | Description |
|---|---|---|
app_store_subscription_group_name | product | Subscription group reference name in App Store Connect |
App Store offer rows use trial_offer_duration. Leave start_date empty to start the trial today. Product names must stay within Apple’s limits (typically 30 characters for the display name and 45 for the description) or App Store Connect will reject the change.
Play Store columns
Present only on Play Store exports. Play Store CSV export includes subscriptions only.
| Column | Used on | Description |
|---|---|---|
play_store_offer_id | offer | Offer ID in Play Console. Required on offer rows |
play_store_offer_other_regions_available | offer | Whether the offer is available in other regions |
play_store_base_plan_type | product | auto_renewing, prepaid, or installments |
play_store_base_plan_offer_tags | product | Offer tags for the base plan |
play_store_auto_renewing_grace_period_duration | product | Grace period for auto-renewing base plans |
play_store_auto_renewing_account_hold_duration | product | Account hold duration |
play_store_auto_renewing_resubscribe_state | product | Resubscribe behavior |
play_store_auto_renewing_proration_mode | product | How upgrades and downgrades are prorated |
play_store_auto_renewing_legacy_compatible | product | Whether the base plan is backwards compatible |
play_store_auto_renewing_legacy_compatible_subscription_offer_id | product | Legacy-compatible offer ID |
play_store_prepaid_time_extension | product | Prepaid time extension |
play_store_installments_committed_payments_count | product | Number of committed installment payments |
play_store_installments_renewal_type | product | Installment renewal type |
play_store_installments_grace_period_duration | product | Installment grace period |
play_store_installments_account_hold_duration | product | Installment account hold |
play_store_installments_resubscribe_state | product | Installment resubscribe behavior |
play_store_installments_proration_mode | product | Installment proration |
play_store_other_regions_available_in_new_territories | product | Other-regions availability for new territories |
play_store_other_regions_usd_amount | product | USD price used for other regions |
play_store_other_regions_usd_currency | product | Currency for the USD other-regions price (USD) |
play_store_other_regions_eur_amount | product | EUR price used for other regions |
play_store_other_regions_eur_currency | product | Currency for the EUR other-regions price (EUR) |
Only fill the Play columns that apply to the play_store_base_plan_type (auto-renewing, prepaid, or installments). Leave the rest blank. Play Store offer rows need play_store_offer_id and trial_offer_duration.
Limits
- At most 50 products per export or import
- One app and one store per file
- Play Store: subscriptions only
Return to Configure products with Product Editor for download, review, and commit steps.