Telemetry
Sylius Telemetry is a built-in, anonymous reporting system that gathers aggregated technical and business data from your Sylius installation.
It is enabled by default, non-intrusive, and entirely focused on ecosystem improvement — without collecting any personal, sensitive, or identifiable information.
Its purpose is to help the Sylius Team and community better understand real-world usage patterns, so the platform can evolve in the right direction, with decisions based on real data — not assumptions.
Governance & rollout
Telemetry was introduced in the open, discussed with key contributors and the community, and tracked publicly:
Why Telemetry Matters
Sylius powers a lot of production stores, but until now, decisions about features, compatibility, and roadmap priorities were based mainly on anecdotal evidence.
Telemetry brings clear benefits:
Ecosystem insights: Know which PHP/Symfony versions, plugins, or database engines are commonly used.
Plugin support: Plugin authors can ensure compatibility based on real adoption stats.
Community empowerment: Agencies and developers can benchmark setups and infrastructure decisions.
Product planning: Enables smarter decisions for future Sylius releases based on actual usage.
This helps ensure the most used features are prioritized, compatibility breakages are minimized, and community efforts are aligned with real-world needs.
What Telemetry Collects
All data is anonymized and aggregated. No sensitive or identifiable information is ever sent.
Technical metadata (non-identifying):
Explicit version keys (e.g., sylius_version, php_version)
Database info (e.g., { type: mysql, version: 8.0 })
Environment hints (e.g., { app: prod, webserver: nginx, os: Linux, docker: true })
Public plugin names & versions from composer.lock (private vendors excluded)
Business section (mix of names/codes and ranges):
Locales (e.g., [en_US, pl_PL]; default_locales: [en_US])
Currencies (e.g., [EUR, USD])
GMV (last 30 days) per currency (e.g., { EUR: 10M-50M })
AOV (last 30 days) per currency (e.g., { EUR: 250-500 })
Payment providers (e.g., { name: bank_transfer, gateway: offline, payments_count: 1K-10K })
Shipping providers (e.g., { name: method, calculator: flat_rate, shipments_count: 0-100 })
Metrics (e.g., { customers_count: 10K-100K, orders_monthly_count: 1K-10K, orders_monthly_avg_items: 0-5 })
Privacy & Security
What telemetry never collects
Customer or admin names, emails, or any PII
IP addresses or store domain names
Product names, SKUs, or order contents
Exact prices or transaction amounts
Logs, error messages, or stack traces
Private plugin/package information (only public Packagist packages are considered)
How anonymity is enforced
No PII, no identifiers — we do not send emails, IPs, domains/URLs, customer/product names, user histories, cart contents, or exact amounts.
Ranges only — business metrics (orders/GMV/AOV, etc.) are reported in coarse ranges; never exact values.
Public packages only — the plugin list includes only public Packagist packages; private/commercial vendors are excluded.
Installation ID = non‑reversible hash — derived from
SYLIUS_TELEMETRY_SALT+ basic installation metadata; used to count installations without identifying a company or project.You can rotate SALT at any time to generate a new anonymous ID.
Use a different SALT per environment (e.g., staging vs. production) to avoid counting the same install twice.
Transport security — data is sent to the production endpoint, retries are non‑blocking and limited.
Retention & scope — only aggregated statistics are kept
Control — global opt‑out plus per‑category toggles (see the Cookbook for details).
When and how often?
Telemetry runs once per month
Triggered when visiting /admin (Dashboard).
Silent retries (3 attempts) if the endpoint is unavailable.
No impact on storefront performance — requests are non‑blocking.
Community Benefits
Telemetry enables:
Quarterly ecosystem reports: e.g., most used PHP versions, top 10 plugins, average store size
More relevant plugins: Maintainers can focus support on the most used configurations
Improved stability: The Sylius Team can detect and react to incompatibilities faster
Transparent product planning: Aligns Sylius roadmap with real-world adoption patterns
This data will be shared back with the community regularly.
Complete opt‑out (one‑liner)
Want to disable telemetry entirely? Set the master switch to 0:
// .env
SYLIUS_TELEMETRY_ENABLED=0That’s it. Telemetry services will not load in any environment. For partial opt‑out and full configuration, see the Telemetry Cookbook.
Coming soon — insights for merchants & plugin authors
We plan to surface privacy‑first ecosystem insights via a dedicated portal and/or a small Admin Panel area:
A small Admin Panel area in your shop — a private summary for your installation and high‑level comparisons (bucketed) to the ecosystem.
A dedicated portal for store owners, agencies and plugin authors — aggregated statistics and compatibility trends across the ecosystem.
These features will remain privacy‑first and will never expose project‑identifying data.
Frequently Asked Questions (FAQ)
Is telemetry mandatory?
No — you can disable it at any time.
Does it collect any personal or customer data?
No — it only collects anonymized technical and business metadata.
Will my store be identifiable?
No — all installations use anonymized, non-reversible IDs.
Can I see what's being sent?
Not yet — but a dedicated panel / portal is planned.
Will it affect store performance?
No — it runs once a month and asynchronously.
Last updated
Was this helpful?
