<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://twinslytics.com/</loc><changefreq>monthly</changefreq><priority>1.0</priority></url>
  <url><loc>https://twinslytics.com/blog</loc><changefreq>weekly</changefreq><priority>0.8</priority></url>
  <url><loc>https://twinslytics.com/blog-ga4-roas-lying</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-why-offline-conversions-beat-pixel-based-roas</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-the-60-day-cohort-maturity-rule-for-ad-spend-decisions</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-what-ai-ready-data-actually-means-a-practical-checklist</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-reconcile-meta-and-google-roas-against-your-crm</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-server-side-conversions-with-meta-capi-what-breaks-and-how-t</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-true-roas-vs-ga4-ecommerce-roas-for-offline-close-businesses</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-predictive-cac-bidding-on-lead-value-instead-of-clicks</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-why-your-dbt-pipeline-keeps-breaking-on-api-schema-drift</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-attribution-when-payment-domains-steal-the-credit</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-when-to-move-from-spreadsheets-to-a-data-warehouse</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-monitoring-and-alerting-for-data-pipelines-in-production</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-dtc-brands-should-measure-blended-roas</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-why-utm-parameters-break-at-checkout-redirects-and-how-to-fi</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-why-your-subscription-revenue-makes-blended-roas-misleading</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-build-a-marketing-mix-model-without-a-data-science-te</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-build-a-customer-data-warehouse-that-survives-ios-att</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-attribute-subscription-ltv-back-to-the-original-ad-cl</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/guide-attribution</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://twinslytics.com/guide-true-roas</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://twinslytics.com/guide-data-pipelines</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://twinslytics.com/true-roas-calculator</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-build-an-ad-spend-decision-engine-from-warehouse-data</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-build-an-ai-agent-that-flags-roas-anomalies-before-yo</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-why-your-roas-looks-great-while-contribution-margin-keeps-sh</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-build-a-self-healing-dbt-pipeline-for-ecommerce-data-</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-build-an-ai-agent-that-reconciles-ad-spend-with-contr</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-build-a-real-time-margin-aware-bidding-pipeline-from-</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-build-an-ai-agent-that-unifies-meta-capi-and-warehouse-conve</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-how-to-get-one-true-roas-number-when-every-platform-disagree</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-build-an-ai-agent-that-allocates-ad-spend-by-contribution-ma</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-build-an-ai-agent-that-flags-creative-fatigue-before-roas-dr</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-build-an-ai-agent-that-flags-returns-and-refunds-skewing-tru</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-build-an-ai-agent-that-flags-discount-code-cannibalization-o</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
  <url><loc>https://twinslytics.com/blog-build-an-ai-agent-that-flags-ltv-cohorts-drifting-below-cac-</loc><changefreq>yearly</changefreq><priority>0.6</priority></url>
</urlset>
