Apple App Store

Adding the data source

By adding the Apple App Store data source on the Kondado platform, you can access your App Store Apps data directly in your Data Warehouse or Data Lake – process also known as ETL or ELT.

To add the data source, you will need to login to the App Store Connect website with the primary account user and follow these steps:

1) As your primary account user, go to https://appstoreconnect.apple.com/;

2) Once logged in, go to the “Users and Access” section;

3) Once on the users and accesses page, click on “Keys” at the top and then on the “Generate API Key” button;

4) When clicking create key, a pop-up will open. Give it a name in “Name” (e.g., “Kondado”), select “Admin” access level in “Access” and click “Generate” to create the key;

5) Once created, the key will appear in the key listing. You will need to copy the following information, as shown below:

a) Copy the “Issuer ID” (located at the top)

b) Copy the “KEY ID” (located in the third column of the key)

c) Download the key by clicking on “Download API Key” in the last column

6) The downloaded key will have the extension “.p8”. When opening it with a text editor, you will see a text similar to the one below (which was randomly generated by us and is not a valid key). Copy this text without leading or trailing spaces:

APPLE_APP_STORE_1.png

7) On the apple store connect website, locate the “Reports” option in the top menu and click on it;

8) On the Reports page, at the top left, you will see the name of your company and, below, a text similar to “Vendor # 12345678“. Copy the value after the “#” without spaces. In our example, you would copy “12345678“;

9) On the Kondado platform, go to the add new sources page, select the Apple App Store data source and fill in the information as shown in the picture and instructions below:

APPLE_APP_STORE_2.png

Vendor ID: Copy the number obtained in step (8)

Issuer ID: Copy the text obtained in step (5) (a)

Key ID: Copy the text obtained in step (5) (b)

Key: Copy all the text (remember not to leave spaces at the beginning or end) as obtained in step (6)

10) Now, just name your connector and click SAVE! You are ready to send data from the Apple App Store to your Data Warehouse or Data Lake.

Pipelines

Summary

  • Daily Sales Summary Report
  • Daily Subscriber Detailed Report
  • Daily Subscription Event Summary Report
  • Daily Subscription Summary Report

Relationship Chart

Daily Sales Summary Report

FieldType 
metric_datedate[en] Report date
categorytext[en] Indicates the category of the app, such as Games.
customer_currencytext[en] Three-character ISO code indicating the customer’s currency
titletext 
currency_of_proceedstext[en] The currency in which your proceeds are earned
versiontext[en] Provided by you during app setup.
providertext[en] The service provider in your reports (typically Apple).
unitsfloat[en] The aggregated number of units. Negative values indicate refunds, or CMB credits for previously purchased apps when the CMB column shows ‘CMB-C’. A 0 value may indicate a partial refund
parent_identifiertext[en] In-App Purchases will show the SKU of the associated app.
developer_proceedsfloat[en] The amount you receive per unit. This is the Customer Price minus applicable taxes and Apple’s commission, per Schedule 2 of your Paid Applications agreement .
customer_pricefloat[en] The price per unit billed to the customer, which you set for your app or in-app purchase in App Store Connect . *Customer price is inclusive of any applicable taxes we collect and remit per Schedule 2 of the Paid Applications agreement. Negative values indicate refunds, or CMB credits for previously purchased apps when the CMB column shows ‘CMB-C’.
skutext[en] A product identifier provided by you during app setup.
product_type_identifiertext[en] Defines the type of transaction (for example, initial download, update, and so on). For more information, visit Product type at https://developer.apple.com/help/app-store-connect/reference/product-type-identifiers
provider_countrytext[en] The service provider country code (typically U.S.).
proceeds_reasontext[en] The service provider country code (typically U.S.).
devicetext[en] Type of device used for purchase or redownload: iPhone, iPad, Apple TV, iPod touch, or Desktop.
subscriptiontext[en] Defines whether an auto-renewable subscription is new or a renewal.
apple_identifiertext[en] The Apple ID for your app.
supported_platformstext[en] List of platforms that your app supports: iOS, tvOS, iOS and tvOS, or macOS.
country_codetext[en] Two-character ISO country code indicating the App Store territory for the purchase
cmbtext[en] If the transaction involves a “completed” app bundle, this field will contain a value of “CMB.” App credits for completed bundles will show a value of “CMB-C.” Otherwise this field is blank.
clienttext[en] Indicates where the purchase happened: App Store for iMessage, News, or blank.
promo_codetext[en] If the transaction was part of a promotion, this field will contain a value. This field is empty for all non-promotional items. For more information, visit Promotional codes .
periodtext[en] Defines the duration of an auto-renewable subscription purchase. Values include: 7 days, 1 month, 2 months, 3 months, 6 months, and 1 year.
order_typetext[en] For introductory offers or subscription offers, indicates what type of transaction this line item is: Pay Up Front or Pay As You Go. For pre-orders, indicates whether a purchase originated from a Pre-Order. For promotional offers, the field will populate the Order ID. For offer codes, the field will populate the offer code reference name used in App Store Connect when setting up the subscription offer.
developertext[en] Provided by you during the initial account setup.
preserved_pricingtext[en] For Renew events, if the price is preserved then this field equals “Yes”. Otherwise it is blank.

Daily Subscription Summary Report

FieldType 
metric_datedate[en] Report date
subscription_offer_nametext[en] The promotional offer reference name or the offer code reference name used in App Store Connect when setting up the subscription offer
customer_currencytext[en] Three-character ISO code indicating the customer’s currency
free_trial_offer_code_subscriptionsfloat[en] Total number of offer code subscriptions currently in a free trial.
pay_up_front_offer_code_subscriptionsfloat[en] Total number of offer code subscriptions with a pay up front offer price.
pay_as_you_go_offer_code_subscriptionsfloat[en] Total number of offer code subscriptions with a pay as you go offer price.
subscribersfloat[en] The number of subscribers who have access to the auto-renewable subscription including entitled family members. Note that this field is only populated when the record represents more than 3 subscriptions
billing_retryfloat[en] Total number of subscriptions in the Billing Retry status. This indicates that the App Store is still attempting to automatically renew a subscription when billing issues arise (for example, an expired credit card). Available in reports for dates starting December 7, 2017.
free_trial_promotional_offer_subscriptionsfloat[en] Total number of promotional offers currently in a free trial.
standard_subscription_durationtext[en] Duration of the standard subscription: 7 Days, 1 Month, 2 Months, 3 Months, 6 Months, or 1 Year.
statetext[en] State field in the address submitted by the customer when signing up for their Apple ID. This field is not validated and may be blank.
app_apple_idtext[en] Apple ID of your subscription’s parent app.
active_standard_price_subscriptionsfloat[en] Total number of auto-renewable standard paid subscriptions currently active, excluding free trials, subscription offers, introductory offers, and marketing opt-ins. Subscriptions are active during the period for which the customer has paid without cancellation.
developer_proceedsfloat[en] The proceeds for each subscription.
active_pay_as_you_go_introductory_offer_subscriptionsfloat[en] Total number of introductory offer subscriptions currently with a pay as you go introductory price.
customer_pricefloat[en] Retail Price displayed on the App Store and charged to the customer.
promotional_offer_idtext[en] An identifier that you set for your subscription offers in App Store Connect. For Promotional Offers this is the value entered in the Promotional Offer Reference Name field when setting up the offer. For one-time use offer codes, this is the value entered in the Offer Code Reference Name field when setting up the offer. For custom offer codes this is the code shared with your users.
proceeds_reasontext[en] For Renew events, if the subscription has been active for more than a year then you receive 85 percent of the customer price, minus applicable taxes, and this field equals “Rate After One Year”. Otherwise, you receive 70 percent and the field is blank.
devicetext[en] Type of device used for subscription purchase: iPhone, iPad, Apple TV, iPod touch, or Desktop.
pay_up_front_promotional_offer_subscriptionsfloat[en] Total number of promotional offers with a pay up front promotional price.
pay_as_you_go_promotional_offer_subscriptionsfloat[en] Total number of promotional offers with a pay as you go promotional price
active_free_trial_introductory_offer_subscriptionsfloat[en] Total number of introductory offer subscriptions currently in a free trial
marketing_opt_insfloat[en] Total number of subscriptions currently in a marketing opt-in bonus period
subscription_apple_idtext[en] Apple ID of your subscription
countrytext[en] Two-character ISO country code indicating the App Store territory for the purchase
proceeds_currencytext[en] The currency in which your proceeds are earned
subscription_group_idtext[en] Your subscription’s Group ID (formerly Family ID).
clienttext[en] If the subscription was purchased from News then this field equals “News”. Otherwise, it is blank.
subscription_nametext[en] Title of your subscription.
app_nametext[en] Title of your subscription’s parent app.
active_pay_up_front_introductory_offer_subscriptionsfloat[en] Total number of introductory offer subscriptions currently with a pay up front introductory price.
preserved_pricingtext[en] For Renew events, if the price is preserved then this field equals “Yes”. Otherwise, it is blank.
grace_periodtext[en] Total number of subscriptions in the Billing Grace Period state. This indicates that subscriber can continue accessing your content for a certain period of time (6 or 16 days) while Apple attempts to correct the billing issue

Daily Subscription Event Summary Report

FieldType 
metric_datedate[en] Report date
days_canceledfloat[en] For reactivate events, the number of days ago that the subscriber canceled.
subscription_group_idtext[en] Your subscription’s Group ID (formerly Family ID).
previous_subscription_nametext[en] For upgrade, downgrade, and crossgrade events, the title of the previous subscription.
standard_subscription_durationtext[en] Duration of the standard subscription: 7 Days, 1 Month, 2 Months, 3 Months, 6 Months, or 1 Year.
promotional_offer_nametext[en] The Promotional Offer Reference Name used in App Store Connect when setting up the offer.
statetext[en] State field in the address submitted by the customer when signing up for their Apple ID. This field is not validated and may be blank.
app_apple_idtext[en] Apple ID of your subscription’s parent app.
days_before_cancelingfloat[en] For cancel events, the number of days from the start date to when a subscriber canceled, which could be in the middle of the period. This only applies to cancel events where cancellation reason equals ‘canceled‘. Otherwise, it is blank.
subscription_offer_durationtext[en] Duration of the introductory price if applicable. For example: 3 Days, 7 Days, 2 Weeks, 1 Month, 2 Months, 3 Months, 6 Months, or 1 Year.
promotional_offer_idtext[en] An identifier that you set for your subscription offers in App Store Connect. This is the value entered in the Promotional Offer Product Code field when setting up a subscription offer. For details on implementation see Generating a Signature for Promotional Offers .
marketing_opt_intext[en] If the subscription included a marketing opt-in then this field equals “Yes”. Otherwise, it is blank.
proceeds_reasontext[en] For Renew events, if the subscription has been active for more than a year then you receive 85 percent of the customer price, minus applicable taxes, and this field equals “Rate After One Year”. Otherwise, you receive 70 percent and the field is blank.
devicetext[en] Type of device used for initial subscription purchase: iPhone, iPad, Apple TV, iPod touch, or Desktop.
original_start_datedate[en] Date of the initial subscription purchase.
cancellation_reasontext[en] Reason for a cancellation: Billing issue, Price increase, Canceled, Removed from Sale, or Other
subscription_apple_idtext[en] Apple ID of your subscription.
countrytext[en] Two-character ISO country code indicating the App Store territory for the purchase
marketing_opt_in_durationtext[en] Duration of the opt-in if applicable: 7 Days, 1 Month, 2 Months, 3 Months, 6 Months, or 1 Year.
clienttext[en] If the subscription was purchased from News then this field equals “News”. Otherwise, it is blank.
previous_subscription_apple_idtext[en] For upgrade, downgrade, and crossgrade events, the Apple ID of the previous subscription.
quantityfloat[en] Number of events with the same values for the other fields.
subscription_nametext[en] Title of your subscription.
app_nametext[en] Title of your subscription’s parent app.
consecutive_paid_periodsfloat[en] The total number of paid periods that the subscription has been active without cancellation. This does not include free trials, marketing opt-in bonus periods, or grace periods.
subscription_offer_typetext[en] Type of introductory price: Pay Up Front, Pay As You Go, or Free Trial
eventtext[en] Type of event that occurred
preserved_pricingtext[en] For Renew events, if the price is preserved then this field equals “Yes”. Otherwise, it is blank.

Daily Subscriber Detailed Report

FieldType 
metric_datedate[en] Report date
customer_currencytext[en] Three-character ISO code indicating the customer’s currency
subscriber_idtext[en] The randomly generated Subscriber ID that is unique to each customer and developer.
purchase_datetext[en] For refunds, the date of the original purchase.
subscriber_id_resettext[en] If a customer cancels all of their subscriptions with you and does not resubscribe within 180 days, the Subscriber ID will be deleted. If the same customer resubscribes after 180 days, then we create a new Subscriber ID and this field equals “Yes.” Otherwise, it is blank.Subscriber IDs are reset when an app is transferred to another developer account .
subscription_group_idtext[en] Your subscription’s Group ID (formerly Family ID).
standard_subscription_durationtext[en] Duration of the standard subscription: 7 Days, 1 Month, 2 Months, 3 Months, 6 Months, or 1 Year.
subscription_offer_nametext[en] The promotional offer reference name or the offer code reference name used in App Store Connect when setting up the subscription offer.
app_apple_idtext[en] Apple ID of your subscription’s parent app.
developer_proceedsfloat[en] The proceeds for each item delivered.
customer_pricefloat[en] The price of your auto-renewable subscription. Negative values indicate refunds.
subscription_offer_durationtext[en] Duration of the introductory price if applicable: For example, 3 Days, 1 Week, 2 Weeks, 1 Month, 2 Months, 3 Months, 6 Months, or 1 Year.
promotional_offer_idtext[en] A code that you create for customers to enter and redeem the subscription offer.
event_datedate[en] Date the event occurred
proceeds_reasontext[en] If a subscription has been active for more than a year then you receive 85 percentage of the customer price, minus applicable taxes, and this field equals “Rate After One Year.” Otherwise, you receive 70 percentage and the field is blank.
devicetext[en] Type of device used for subscription purchase: iPhone, iPad, Apple TV, iPod touch, or Desktop.
unitsfloat[en] The aggregated number of units.
subscription_apple_idtext[en] Apple ID of your subscription.
countrytext[en] Two-character ISO country code indicating the App Store territory for the purchase
marketing_opt_in_durationtext[en] Duration of the marketing opt-in if applicable: 7 Days, 1 Month, 2 Months, 3 Months, 6 Months, or 1 Year.
proceeds_currencytext[en] The currency in which your proceeds are earned.
clienttext[en] If the subscription was purchased from News then this field equals “News”. Otherwise, it is blank.
refundtext[en] For full or partial refunds, this field equals “Yes.” Otherwise, it is blank.
subscription_nametext[en] Title of your subscription.
app_nametext[en] Title of your subscription’s parent app.
subscription_offer_typetext 
preserved_pricingtext[en] For renewals, if the price is preserved then this field equals “Yes”. Otherwise, it is blank.