<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://cross-deck.com/</loc>
    <lastmod>2026-06-03T09:29:10.229Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/</loc>
    <lastmod>2026-06-04T08:04:57.917Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/app-monetization-metrics-every-indie-developer-should-watch/</loc>
    <lastmod>2026-06-03T09:29:10.172Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/app-store-server-notifications-v2-explained-for-founders/</loc>
    <lastmod>2026-06-03T09:29:10.172Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/billing-retry-and-grace-period-explained-for-ios-subscriptions/</loc>
    <lastmod>2026-06-03T09:29:10.173Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/crossdeck-vs-revenuecat-which-is-better-for-app-subscriptions-and-analytics/</loc>
    <lastmod>2026-06-03T09:29:10.173Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/crossdeck-vs-telemetrydeck-when-analytics-alone-is-not-enough/</loc>
    <lastmod>2026-06-03T09:29:10.173Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/editorial/</loc>
    <lastmod>2026-06-04T08:04:57.917Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/google-play-subscription-events-explained-for-app-founders/</loc>
    <lastmod>2026-06-03T09:29:10.174Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-ai-coding-tools-should-install-subscription-analytics-safely/</loc>
    <lastmod>2026-06-03T09:29:10.174Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-build-a-privacy-first-analytics-strategy-for-paid-apps/</loc>
    <lastmod>2026-06-03T09:29:10.174Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-build-a-subscription-analytics-dashboard-from-scratch-and-why-not-to/</loc>
    <lastmod>2026-06-03T09:29:10.175Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-calculate-and-improve-net-revenue-retention-for-app-subscriptions/</loc>
    <lastmod>2026-06-03T09:29:10.175Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-capture-ios-app-errors-and-connect-them-to-subscription-state/</loc>
    <lastmod>2026-06-03T09:29:10.175Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-capture-javascript-errors-without-installing-a-second-sdk/</loc>
    <lastmod>2026-06-03T09:29:10.175Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-capture-network-failures-and-failed-api-calls-in-your-app/</loc>
    <lastmod>2026-06-03T09:29:10.175Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-compare-ios-android-and-web-revenue-in-one-place/</loc>
    <lastmod>2026-06-03T09:29:10.175Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-connect-stripe-web-subscriptions-to-ios-app-access/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-create-a-paid-app-launch-checklist-for-developers/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-create-a-subscription-app-stack-stripe-app-store-analytics-entitlements/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-debug-a-subscription-user-who-should-have-pro-access/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-design-paid-features-that-map-cleanly-to-entitlements/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-identify-which-app-features-drive-paid-conversion/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-instrument-a-next-js-app-for-subscriptions-and-entitlement-checks/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-instrument-a-swiftui-app-for-telemetry-and-paid-access/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-know-when-a-paying-customer-hit-a-checkout-error/</loc>
    <lastmod>2026-06-03T09:29:10.176Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-map-stripe-products-to-mobile-app-entitlements/</loc>
    <lastmod>2026-06-03T09:29:10.177Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-measure-onboarding-impact-on-subscription-revenue/</loc>
    <lastmod>2026-06-03T09:29:10.177Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-monetize-an-ios-app-without-stitching-tools-together/</loc>
    <lastmod>2026-06-03T09:29:10.177Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-monitor-failed-payments-and-billing-retry-in-your-app/</loc>
    <lastmod>2026-06-03T09:29:10.177Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-prepare-your-app-for-subscription-pricing-experiments/</loc>
    <lastmod>2026-06-03T09:29:10.177Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-prevent-sandbox-purchases-from-polluting-production-revenue/</loc>
    <lastmod>2026-06-03T09:29:10.177Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-reduce-subscription-churn-by-understanding-product-behavior/</loc>
    <lastmod>2026-06-03T09:29:10.179Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-see-app-revenue-in-real-time-before-app-store-connect-catches-up/</loc>
    <lastmod>2026-06-03T09:29:10.179Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-set-up-global-error-handlers-in-a-web-app-without-double-reporting/</loc>
    <lastmod>2026-06-03T09:29:10.180Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-set-up-slack-and-email-alerts-for-production-errors-without-drowning-your-team/</loc>
    <lastmod>2026-06-03T09:29:10.180Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-track-feature-adoption-and-revenue-in-the-same-dashboard/</loc>
    <lastmod>2026-06-03T09:29:10.180Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-track-refunds-and-understand-why-users-ask-for-them/</loc>
    <lastmod>2026-06-03T09:29:10.180Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-track-trial-to-paid-conversion-in-a-mobile-app/</loc>
    <lastmod>2026-06-03T09:29:10.180Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-use-ai-prompts-to-install-an-app-analytics-sdk/</loc>
    <lastmod>2026-06-03T09:29:10.180Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-use-one-payment-relationship-across-ios-android-and-web/</loc>
    <lastmod>2026-06-03T09:29:10.181Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/how-to-validate-app-store-purchases-without-building-subscription-infrastructure/</loc>
    <lastmod>2026-06-03T09:29:10.181Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/products-vs-entitlements-the-simplest-way-to-manage-paid-app-access/</loc>
    <lastmod>2026-06-03T09:29:10.181Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/revenuecat-alternative-subscription-infrastructure-with-product-analytics-built-in/</loc>
    <lastmod>2026-06-03T09:29:10.181Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/revenuecat-products-entitlements-and-offerings-a-plain-english-guide/</loc>
    <lastmod>2026-06-03T09:29:10.182Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/sandbox-vs-production-for-app-subscriptions-how-to-test-safely/</loc>
    <lastmod>2026-06-03T09:29:10.182Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/sentry-alternative-for-saas-founders-who-need-customer-context/</loc>
    <lastmod>2026-06-03T09:29:10.182Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/source-maps-for-production-javascript-errors-how-to-use-them-safely/</loc>
    <lastmod>2026-06-03T09:29:10.182Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/storekit-2-subscription-analytics-what-developers-should-track/</loc>
    <lastmod>2026-06-03T09:29:10.183Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/stripe-webhooks-for-app-subscriptions-what-founders-need-to-know/</loc>
    <lastmod>2026-06-03T09:29:10.183Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/telemetrydeck-alternative-privacy-friendly-analytics-connected-to-revenue/</loc>
    <lastmod>2026-06-03T09:29:10.183Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/telemetrydeck-signals-explained-how-product-events-become-growth-insights/</loc>
    <lastmod>2026-06-03T09:29:10.184Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/the-app-subscription-dashboard-indie-developers-actually-need/</loc>
    <lastmod>2026-06-03T09:29:10.184Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/the-complete-guide-to-app-revenue-intelligence/</loc>
    <lastmod>2026-06-03T09:29:10.184Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/what-apple-p8-keys-are-and-why-subscription-platforms-need-them/</loc>
    <lastmod>2026-06-03T09:29:10.184Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/what-are-breadcrumbs-in-error-monitoring/</loc>
    <lastmod>2026-06-03T09:29:10.184Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/what-is-a-payment-rail-in-app-monetization/</loc>
    <lastmod>2026-06-03T09:29:10.185Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/what-is-an-app-revenue-source-of-truth/</loc>
    <lastmod>2026-06-03T09:29:10.185Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/what-is-an-entitlement-in-app-subscriptions/</loc>
    <lastmod>2026-06-03T09:29:10.185Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/what-plain-english-error-summaries-are-and-why-founders-need-them/</loc>
    <lastmod>2026-06-03T09:29:10.185Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/what-to-track-before-launching-a-paid-ios-app/</loc>
    <lastmod>2026-06-03T09:29:10.185Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/why-app-store-revenue-reports-are-not-enough-for-product-decisions/</loc>
    <lastmod>2026-06-03T09:29:10.185Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/blog/why-your-app-analytics-should-connect-to-revenue-events/</loc>
    <lastmod>2026-06-03T09:29:10.185Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/compare/</loc>
    <lastmod>2026-06-03T09:29:10.189Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/</loc>
    <lastmod>2026-06-03T09:29:10.220Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/android-sdk/</loc>
    <lastmod>2026-06-03T09:29:10.218Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/api-keys/</loc>
    <lastmod>2026-06-03T11:19:16.175Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/apple-one-off-purchases/</loc>
    <lastmod>2026-06-03T09:29:10.218Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/cli/</loc>
    <lastmod>2026-06-03T09:29:10.218Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/connect-apple/</loc>
    <lastmod>2026-06-03T09:29:10.218Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/connect-google/</loc>
    <lastmod>2026-06-03T09:29:10.219Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/connect-stripe/</loc>
    <lastmod>2026-06-03T09:29:10.219Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/contracts/</loc>
    <lastmod>2026-06-03T09:29:10.219Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/cookie-policy-template/</loc>
    <lastmod>2026-06-03T09:29:10.219Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/create-a-project/</loc>
    <lastmod>2026-06-03T09:29:10.219Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/entitlements/</loc>
    <lastmod>2026-06-03T09:29:10.220Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/identify-users/</loc>
    <lastmod>2026-06-03T09:29:10.220Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/identity-verification/</loc>
    <lastmod>2026-06-03T09:29:10.220Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/install-prompts/</loc>
    <lastmod>2026-06-03T09:29:10.221Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/internal-traffic/</loc>
    <lastmod>2026-06-04T00:00:00.000Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/migration/</loc>
    <lastmod>2026-06-03T09:29:10.221Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/node-sdk/</loc>
    <lastmod>2026-06-03T09:29:10.222Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/products/</loc>
    <lastmod>2026-06-03T09:29:10.222Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/prove-it/</loc>
    <lastmod>2026-06-03T09:29:10.222Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/quickstart-android/</loc>
    <lastmod>2026-06-03T09:29:10.222Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/quickstart-ios/</loc>
    <lastmod>2026-06-03T09:29:10.222Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/quickstart-web/</loc>
    <lastmod>2026-06-03T09:29:10.223Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/rail-webhooks/</loc>
    <lastmod>2026-06-03T09:29:10.223Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/react-native-sdk/</loc>
    <lastmod>2026-06-03T09:29:10.223Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/sandbox-vs-production/</loc>
    <lastmod>2026-06-03T09:29:10.223Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/server-events/</loc>
    <lastmod>2026-06-03T09:29:10.223Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/source-maps/</loc>
    <lastmod>2026-06-03T09:29:10.226Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/source-maps/ai-setup/</loc>
    <lastmod>2026-06-03T09:29:10.226Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/swift-sdk/</loc>
    <lastmod>2026-06-03T09:29:10.226Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/track-events/</loc>
    <lastmod>2026-06-03T09:29:10.227Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/web-sdk/</loc>
    <lastmod>2026-06-03T13:29:09.809Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/web-sdk/error-codes/</loc>
    <lastmod>2026-06-03T09:29:10.227Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/docs/webhooks-receive/</loc>
    <lastmod>2026-06-03T09:29:10.227Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/</loc>
    <lastmod>2026-06-03T09:29:10.230Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/aup/</loc>
    <lastmod>2026-06-03T09:29:10.229Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/cookie-policy/</loc>
    <lastmod>2026-06-03T09:29:10.229Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/customer-disclosure/</loc>
    <lastmod>2026-06-03T09:29:10.230Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/dpa/</loc>
    <lastmod>2026-06-03T09:29:10.230Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/privacy/</loc>
    <lastmod>2026-06-03T09:29:10.230Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/sdk-data/</loc>
    <lastmod>2026-06-03T09:29:10.230Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/security/</loc>
    <lastmod>2026-06-03T09:29:10.230Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/sub-processors/</loc>
    <lastmod>2026-06-03T09:29:10.232Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/legal/terms/</loc>
    <lastmod>2026-06-03T09:29:10.232Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/pricing/</loc>
    <lastmod>2026-06-03T09:29:10.234Z</lastmod>
  </url>
  <url>
    <loc>https://cross-deck.com/start-free/</loc>
    <lastmod>2026-06-03T09:29:10.280Z</lastmod>
  </url>
</urlset>