Field-by-field reference for Netice unified revenue output (Sales + Ads). Clear gross/net/proceeds/earnings terms + BI-ready schema.
Unified Revenue Schema (Sales + Ads)
& Field Definitions
UUSIMMAT JULKAISUT
Google Analytics 4 -raportointi | Ilmainen koulutus
Google Analytics 4 -raportointi Koulutuksen jälkeen ymmärrät mm. 🔹 raportoinnin Google Analytics 4:llä 🔹 Kuinka visualisoit ja raportoit mm. sivustosi merkittäviä mittareita 👉🏻 ja kuinka raportoinnin avulla voit tukea liiketoimintasi tavoitteita ja niiden mitattavuutta! Video: Google Analytics 4 -raportointi Katso koulutus ilmaiseksi alla olevasta videosta. Koulutusaiheemme liittyvät moderniin digitaaliseen myyntiin ja markkinointiin. Google Analytics 4,…
Markkinoinnin mittarit ja raportointi | Katso koulutus!
Digimarkkinoinnin mittarit ja raportointi: koulutuksen esittely Katso ilmainen koulutus alla olevasta videosta ja opi digitaalisen markkinoinnin mittarit ja raportointi! Koulutuksen jälkeen ymmärrät mm. 🔹 Markkinoinnin mittarit 🔹 Kuinka visualisoit ja raportoit markkinoinnin ROI:ta ja asiakashankinnan hintaa 🔹 Kuinka markkinointisi suoriutuu 👉🏻 ja kuinka näillä tiedoilla lisätään myyntiä. Video: Digimarkkinoinnin mittarit ja raportointi Katso koulutus ilmaiseksi…
GA4 ja Looker Studio | Ilmainen koulutus
Video: Google Analytics 4 ja Looker Studio Katso koulutus ilmaiseksi alla olevasta videosta. https://www.youtube.com/watch?v=ILOj9v9TdQc GA4 & Looker Studio – digitaalisen liiketoimintasi mitattavuus: koulutuksen esittely Tunne verkkoliiketoimintasi Google Analytics 4:n ja Looker Studion avulla! Koulutuksen jälkeen ymmärrät mm.🔹 Kuinka visualisoit ja raportoit Google Analytics -dataa🔹 Mikä todella tuo verkkoliiketoiminnassasi konversioita ja myyntiä🔹 Webisi käyttökokemusta👉🏻 ja kuinka…
Unified revenue schema (Sales + Ads) — Unified field names reference
The Netice Unified Revenue Schema is a platform-reported revenue data output that normalizes store sales (App Store Connect, Google Play) and ads monetization (e.g., AdMob, Google Ad Manager, AppLovin MAX, Unity LevelPlay) into Unified field names so you can report consistently across sources.
What this Unified schema is (and what it isn’t)
This page is the schema explorer + field dictionary for the Netice Unified Revenue schema. Treat it like a dataset reference: it includes example rows and precise field definitions so your finance and analytics teams can align on terms.
Not booked revenue: Store and ad platforms may show estimates that finalize later (for example, invalid traffic adjustments in ads). Netice preserves that reality using Unified field names and the is_final flag rather than pretending everything is final on day one. AdMob estimated earnings are not finalized until month-end adjustments.
Money terminology: Apple vs Google Play vs Ads (how to interpret numbers)
Why this section exists: if you mix “gross,” “net,” “proceeds,” and “earnings” casually, your dashboards will be wrong—or at least endlessly debated.
Reality is more complex: each platform’s native meaning still matters (Apple “Proceeds”, Google Play “Estimated sales”, AdMob “Estimated earnings”).
Apple (App Store Connect): Customer Price vs Proceeds
Apple defines Proceeds (what you receive) as Customer Price minus applicable taxes and Apple’s commission, and notes that Sales and Trends proceeds aren’t final (final proceeds are based on closed transactions).
Google Play: Estimated sales vs Earnings/Payout context
Google Play Console describes revenue data as based on estimated sales (amounts paid by buyers, including tax).
In Play Console, you can download Estimated sales reports and Earnings reports under Financial reporting—these represent different lenses (buyer amounts vs payout-related reporting).
Ads (AdMob / Google Ad Manager): Estimated vs finalized earnings
Ad platforms commonly show estimated earnings during the month; they can be adjusted when invalid activity is removed and revenue is finalized. AdMob explicitly states performance report earnings aren’t finalized until the end of the month.
- Unified schema = platform-reported revenue data normalized into Unified field names for consistent reporting.
- Apple “Proceeds” ≠ customer price; it’s customer price minus taxes and Apple commission, and Sales & Trends proceeds aren’t final.
- Google Play revenue is based on estimated sales (buyer amounts, including tax).
- Ads earnings can be estimated mid-month and finalize later (month-end adjustments).
Netice Unified Schema explorer (searchable field list)
Use the search box to find any field (app id, product, country, report, …). This list documents the Unified field names visible in the provided schema sample (38 fields).
| Unified field name | Type | Populated for | Meaning |
|---|---|---|---|
| revenue_dateDaily date key for reporting | DATE | SALESADS | Calendar date the row is attributed to (daily grain). |
| source | STRING (ENUM) | SALESADS | Platform/system name (e.g., APPLE_APP_STORE, GOOGLE_PLAY, ADMOB, GAM, MAX, LEVELPLAY). |
| source_kind | STRING (ENUM) | SALESADS | High-level bucket: SALES vs ADS. |
| platform | STRING (ENUM) | SALESADS | IOS or ANDROID. |
| app_id | STRING | SALESADS | Bundle ID / package name (e.g., com.app.example). |
| sales_channel | STRING | SALES | Sales channel where available (e.g., IN_APP, PLAY_STORE, OUTSIDE_PLAY_STORE). |
| country | STRING (ISO-2) | SALESADS | Country code (ISO-2). |
| original_currency | STRING (ISO 4217) | SALESADS | Currency reported by the source row before conversion. |
| report_currency | STRING (ISO 4217) | SALESADS | Your chosen reporting currency for the unified output (e.g., USD). |
| fx_rate_to_report | DECIMAL | SALESADS | FX rate applied to convert original currency amounts into report currency for this row. |
| revenue_net_original | DECIMAL | SALESADS | Net amount in original currency (negative values typically represent refunds/chargebacks). |
| revenue_net_report | DECIMAL | SALESADS | Net amount converted into report currency using fx_rate_to_report. |
| revenue_gross_original | DECIMAL | SALES | Gross customer amount (before platform fee; tax handling depends on platform report context). |
| store_fee_original | DECIMAL | SALES | Platform fee/commission amount in original currency (when available). |
| customer_currency | STRING (ISO 4217) | SALES | Currency used for the buyer-facing amounts (customer price context). |
| customer_currency_gross_amount | DECIMAL | SALES | Gross amount in customer currency (buyer amount). |
| customer_currency_tax_amount | DECIMAL | SALES | Tax component in customer currency (when available). |
| customer_currency_platform_fee_amount | DECIMAL | SALES | Platform fee component in customer currency (when available). |
| customer_currency_net_proceeds_amount | DECIMAL | SALES | Net proceeds in customer currency. |
| proceeds_currency | STRING (ISO 4217) | SALES | Currency for proceeds amounts (platform payout lens). |
| proceeds_currency_net_amount | DECIMAL | SALES | Net proceeds amount in proceeds currency (platform payout lens). |
| proceeds_currency_tax_amount | DECIMAL | SALES | Tax amount in proceeds currency (when available). |
| proceeds_currency_platform_fee_amount | DECIMAL | SALES | Platform fee amount in proceeds currency (when available). |
| fx_customer_currency_to_report_currency | DECIMAL | SALES | FX rate for customer-currency amounts to report currency (when customer currency differs). |
| fx_proceeds_currency_to_report_currency | DECIMAL | SALES | FX rate for proceeds-currency amounts to report currency (when proceeds currency differs). |
| report_currency_gross_amount | DECIMAL | SALES | Gross amount expressed in report currency (when gross components are available). |
| report_currency_tax_amount | DECIMAL | SALES | Tax amount expressed in report currency (when available). |
| report_currency_platform_fee_amount | DECIMAL | SALES | Platform fee expressed in report currency (when available). |
| report_currency_net_proceeds_amount | DECIMAL | SALES | Net proceeds expressed in report currency (when available). |
| is_final | BOOLEAN | SALESADS | Whether the row reflects a finalized platform report snapshot (vs estimated / subject to later adjustments). |
| source_report | STRING | SALESADS | Which underlying platform report produced the row (useful when reconciling “why differs”). |
| units | INTEGER | SALES | Number of units for the transaction (refunds often appear as negative units). |
| product_id | STRING | SALES | In-app product / subscription identifier (SKU). |
| product_name | STRING | SALES | Human-readable product name where available. |
| impressions | INTEGER | ADS | Ad impressions for the row (ads monetization context). |
| clicks | INTEGER | ADS | Ad clicks for the row (ads monetization context). |
| transaction_type | STRING (ENUM) | SALESADS | Transaction classification (e.g., ONE_TIME, SUBSCRIPTION_RENEWAL, REFUND, AD_REVENUE). |
| meta_json | JSON | SALESADS | Source-specific metadata for edge fields and safe future extensions without breaking the Unified schema. |
revenue_date, app_id, country, source_kind, and revenue_net_report. Use source_report + is_final when reconciling changes over time (common in ads).
Unified field names dictionary
Each field below is anchor-linked and defined in plain terms, including what populates it and what to watch for. This is meant to be pasted into finance/analytics docs so teams stop arguing about vocabulary.
- revenue_date
- source
- source_kind
- platform
- app_id
- sales_channel
- country
- original_currency
- report_currency
- fx_rate_to_report
- revenue_net_original
- revenue_net_report
- revenue_gross_original
- store_fee_original
- customer_currency
- customer_currency_gross_amount
- customer_currency_tax_amount
- customer_currency_platform_fee_amount
- customer_currency_net_proceeds_amount
- proceeds_currency
- proceeds_currency_net_amount
- proceeds_currency_tax_amount
- proceeds_currency_platform_fee_amount
- fx_customer_currency_to_report_currency
- fx_proceeds_currency_to_report_currency
- report_currency_gross_amount
- report_currency_tax_amount
- report_currency_platform_fee_amount
- report_currency_net_proceeds_amount
- is_final
- source_report
- units
- product_id
- product_name
- impressions
- clicks
- transaction_type
- meta_json
Daily attribution date. Use this as the main partition/date filter for dashboards and month-end rollups.
Which platform/system reported the row (example values: APPLE_APP_STORE, GOOGLE_PLAY, ADMOB, GAM, MAX, LEVELPLAY). Use this when splitting revenue by platform vendor.
High-level classification: SALES or ADS. This is the simplest “store vs ads” switch for finance reporting.
IOS or ANDROID. This is separate from source because some ad networks span both platforms.
Bundle ID / package name (for example: com.app.example). This is the join key across sources inside the Unified schema.
Where available, describes sales channel context (example values in your sample include IN_APP, PLAY_STORE, OUTSIDE_PLAY_STORE). Often blank for Apple sales rows.
Country code (ISO-2). In store data, this usually reflects the storefront/buyer locale context; in ads, it reflects where impressions/revenue are attributed.
Currency the source reported for this row before conversion into report_currency.
Your chosen reporting currency for unified reporting (example: USD). This is the currency most dashboards should default to.
FX rate used to convert “original currency” amounts into “report currency” for this row.
Net revenue amount in the source’s original currency. Refunds/returns often appear as negative values.
Net revenue amount converted into report currency using fx_rate_to_report. This is typically the primary number for cross-source totals.
Gross customer amount in original currency (before platform fee). Tax handling depends on platform report context; Google Play “estimated sales” is explicitly buyer amounts including tax.
Platform fee / commission amount in original currency when provided by the source report.
Currency used for buyer-facing price amounts (“customer price” context).
Gross buyer amount in customer currency.
Tax component in customer currency when available (may be zero/blank depending on report).
Platform fee component in customer currency when available.
Net proceeds in customer currency. For Apple, “proceeds” is customer price minus applicable taxes and Apple commission.
Currency used for proceeds/payout lens amounts (platform payout view).
Net proceeds amount in proceeds currency.
Tax amount in proceeds currency when provided.
Platform fee amount in proceeds currency when provided.
FX rate converting customer currency amounts into report currency (useful when customer currency differs from report currency).
FX rate converting proceeds currency amounts into report currency.
Gross amount expressed in report currency (when gross components are available).
Tax amount expressed in report currency (when available).
Platform fee expressed in report currency (when available).
Net proceeds expressed in report currency (when available).
True when the underlying platform report snapshot is considered finalized for this row; false when it’s an estimate or subject to later adjustments. This matters most for ads (month-end finalization) and for Apple “Sales and Trends” proceeds (not final).
Identifies the specific report stream used (examples from your sample: apple_api_connect, google_play_estimated_earnings, admob_network_report). Use this when reconciling differences because “estimated vs final” often depends on report type.
Number of units (purchases/renewals) represented by this row. Refund rows may use negative units.
SKU / product identifier (subscription or in-app purchase ID).
Human-readable product name where available. Useful for BI labels; do not rely on it as a stable key—use product_id as the key.
Ad impressions associated with the ads revenue row.
Ad clicks associated with the ads revenue row (where provided by the network/report).
Classifies the row so finance can group correctly. Examples in your sample: ONE_TIME, SUBSCRIPTION_RENEWAL, REFUND, AD_REVENUE.
Flexible metadata container for source-specific fields and safe future extensions. This reduces schema churn while keeping the Unified field names stable.
Dataset-like reference with sample rows
This is the provided sample output (20 rows) for Unified Schema
Show sample rows (20)
| revenue_date | source | source_kind | platform | app_id | sales_channel | country | original_currency | report_currency | fx_rate_to_report | revenue_net_original | revenue_net_report | revenue_gross_original | store_fee_original | customer_currency | customer_currency_gross_amount | customer_currency_tax_amount | customer_currency_platform_fee_amount | customer_currency_net_proceeds_amount | proceeds_currency | proceeds_currency_net_amount | proceeds_currency_tax_amount | proceeds_currency_platform_fee_amount | fx_customer_currency_to_report_currency | fx_proceeds_currency_to_report_currency | report_currency_gross_amount | report_currency_tax_amount | report_currency_platform_fee_amount | report_currency_net_proceeds_amount | is_final | source_report | units | product_id | product_name | impressions | clicks | transaction_type | meta_json |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-02-10 | APPLE_APP_STORE | SALES | IOS | com.app.example | — | US | USD | USD | 1 | 7 | 7 | 9.99 | 2.99 | USD | 9.99 | 0 | 2.99 | 7 | USD | 7 | — | — | 1 | 1 | 9.99 | 0 | 2.99 | 7 | false | apple_api_connect | 1 | premium_monthly | Premium Monthly | 0 | 0 | ONE_TIME | {} |
| 2026-02-10 | APPLE_APP_STORE | SALES | IOS | com.app.example | — | JP | JPY | USD | 0.0067 | 840 | 5.63 | 1200 | 360 | JPY | 1200 | 0 | 360 | 840 | JPY | 840 | — | — | 0.0067 | 0.0067 | 8.04 | 0 | 2.41 | 5.63 | false | apple_api_connect | 1 | pro_yearly | Pro Yearly | 0 | 0 | SUBSCRIPTION_RENEWAL | {} |
| 2026-02-10 | APPLE_APP_STORE | SALES | IOS | com.app.example | — | FI | EUR | USD | 1.09 | 2.8 | 3.05 | 4.99 | 1.2 | EUR | 4.99 | 0.99 | 1.2 | 2.8 | EUR | 2.8 | — | — | 1.09 | 1.09 | 5.44 | 1.08 | 1.31 | 3.05 | false | apple_api_connect | 1 | remove_ads | Remove Ads | 0 | 0 | ONE_TIME | {} |
| 2026-02-10 | APPLE_APP_STORE | SALES | IOS | com.app.example | — | GB | GBP | USD | 1.27 | -7 | -8.89 | -9.99 | -2.99 | GBP | -9.99 | 0 | -2.99 | -7 | GBP | -7 | — | — | 1.27 | 1.27 | -12.69 | 0 | -3.8 | -8.89 | false | apple_api_connect | -1 | premium_monthly | Premium Monthly | 0 | 0 | REFUND | {} |
| 2026-02-10 | GOOGLE_PLAY | SALES | ANDROID | com.app.example | IN_APP | US | USD | USD | 1 | 3.22 | 3.22 | 4.99 | 1.37 | USD | 4.99 | 0.4 | 1.37 | 3.22 | USD | 3.22 | — | — | 1 | 1 | 4.99 | 0.4 | 1.37 | 3.22 | false | google_play_estimated_earnings | 1 | coins_500 | 500 Coins | 0 | 0 | ONE_TIME | {} |
| 2026-02-10 | GOOGLE_PLAY | SALES | ANDROID | com.app.example | IN_APP | DE | EUR | USD | 1.09 | 5.87 | 6.4 | 9.99 | 2.52 | EUR | 9.99 | 1.6 | 2.52 | 5.87 | EUR | 5.87 | — | — | 1.09 | 1.09 | 10.89 | 1.74 | 2.75 | 6.4 | false | google_play_estimated_earnings | 1 | pro_monthly | Pro Monthly | 0 | 0 | SUBSCRIPTION_RENEWAL | {} |
| 2026-02-10 | GOOGLE_PLAY | SALES | ANDROID | com.app.example | PLAY_STORE | BR | BRL | USD | 0.2 | -12.6 | -2.52 | -19.9 | -5.4 | BRL | -19.9 | -1.9 | -5.4 | -12.6 | BRL | -12.6 | — | — | 0.2 | 0.2 | -3.98 | -0.38 | -1.08 | -2.52 | false | google_play_estimated_earnings | -1 | pro_monthly | Pro Monthly | 0 | 0 | REFUND | {} |
| 2026-02-10 | GOOGLE_PLAY | SALES | ANDROID | com.app.example | OUTSIDE_PLAY_STORE | IN | INR | USD | 0.012 | 349.3 | 4.19 | 499 | 149.7 | INR | 499 | 0 | 149.7 | 349.3 | INR | 349.3 | — | — | 0.012 | 0.012 | 5.99 | 0 | 1.8 | 4.19 | false | google_play_estimated_earnings | 1 | lifetime_unlock | Lifetime Unlock | 0 | 0 | ONE_TIME | {} |
| 2026-02-10 | ADMOB | ADS | ANDROID | com.app.example | — | US | USD | USD | 1 | 35.24 | 35.24 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | admob_network_report | 0 | — | — | 120000 | 350 | AD_REVENUE | {} |
| 2026-02-10 | ADMOB | ADS | IOS | com.app.example | — | JP | USD | USD | 1 | 12.8 | 12.8 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | admob_network_report | 0 | — | — | 50000 | 90 | AD_REVENUE | {} |
| 2026-02-10 | ADMOB | ADS | ANDROID | com.app.example | — | IN | USD | USD | 1 | 8.15 | 8.15 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | admob_network_report | 0 | — | — | 200000 | 420 | AD_REVENUE | {} |
| 2026-02-10 | ADMOB | ADS | IOS | com.app.example | — | DE | USD | USD | 1 | 17.62 | 17.62 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | admob_network_report | 0 | — | — | 65000 | 150 | AD_REVENUE | {} |
| 2026-02-10 | GAM | ADS | ANDROID | com.app.example | — | US | USD | USD | 1 | 52.1 | 52.1 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | gam_reportservice | 0 | — | — | 150000 | 260 | AD_REVENUE | {} |
| 2026-02-10 | GAM | ADS | IOS | com.app.example | — | GB | USD | USD | 1 | 20.55 | 20.55 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | gam_reportservice | 0 | — | — | 80000 | 120 | AD_REVENUE | {} |
| 2026-02-10 | GAM | ADS | ANDROID | com.app.example | — | DE | USD | USD | 1 | 14.3 | 14.3 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | gam_reportservice | 0 | — | — | 60000 | 100 | AD_REVENUE | {} |
| 2026-02-10 | GAM | ADS | IOS | com.app.example | — | BR | USD | USD | 1 | 6.8 | 6.8 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | gam_reportservice | 0 | — | — | 70000 | 80 | AD_REVENUE | {} |
| 2026-02-10 | MAX | ADS | ANDROID | com.app.example | — | US | USD | USD | 1 | 40.05 | 40.05 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | applovin_max_reporting_api | 0 | — | — | 110000 | 210 | AD_REVENUE | {} |
| 2026-02-10 | MAX | ADS | IOS | com.app.example | — | JP | USD | USD | 1 | 22.75 | 22.75 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | applovin_max_reporting_api | 0 | — | — | 90000 | 160 | AD_REVENUE | {} |
| 2026-02-10 | LEVELPLAY | ADS | ANDROID | com.app.example | — | US | USD | USD | 1 | 15.1 | 15.1 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | unity_levelplay_reporting_api | 0 | — | — | 40000 | 70 | AD_REVENUE | {} |
| 2026-02-10 | LEVELPLAY | ADS | IOS | com.app.example | — | DE | USD | USD | 1 | 9.9 | 9.9 | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | false | unity_levelplay_reporting_api | 0 | — | — | 35000 | 55 | AD_REVENUE | {} |
FAQ
1) Why doesn’t my Unified revenue total match my bank payout?
Because bank payouts follow payout schedules and adjustments. Ads often finalize after month-end invalid activity adjustments; AdMob explicitly distinguishes estimated vs finalized earnings.
2) Why do Apple “Proceeds” numbers differ from customer price totals?
Apple proceeds are customer price minus applicable taxes and Apple commission. Also, Sales and Trends proceeds aren’t final; final proceeds are based on closed transactions.
3) What does Google Play “estimated sales” mean in practice?
Play Console describes revenue data as based on estimated sales: amounts paid by buyers, including tax. That can differ from payout timing and other reporting views.
4) Can rows change after they appear (backfills/updates)?
Yes. Platforms can update or adjust reports (particularly ads). Use is_final and source_report to track which rows are still subject to change.
5) Is this output my accounting revenue?
No. The Unified schema is platform-reported revenue data normalized for consistent analysis. Your booked revenue depends on your accounting rules and systems.
What to do next
Pick the reporting outcome you want (daily dashboards, finance rollups, reconciliation), then wire your BI models to the Unified schema keys: revenue_date, app_id, source_kind, country, and revenue_net_report. Use source_report + is_final to avoid confusing “estimated vs final” values.