Zscaler (ZS) Gross Margin (2017 - 2026)
Zscaler's (ZS) quarterly Gross Margin came in at 76.55% in Q1 2026, down 53.0% year-over-year from 162.88% in Q1 2025, and little changed quarter-over-quarter from 76.56% in Q4 2025.
Zscaler (ZS) Gross Margin (2017 - 2026) Analysis & Trends
Zscaler (ZS) has reported Gross Margin for 10 consecutive years, with 76.55% the latest figure, recorded in Q1 2026.
- On a quarterly basis, Gross Margin fell 53.0% year-over-year to 76.55% in Q1 2026; TTM through Jan 2026 was 76.53%, a 123.0% decrease from a year earlier, with the FY2026 full-year figure at 76.8%, down 7.0% from the prior year.
- Gross Margin was 76.55% for Q1 2026 at Zscaler, roughly flat from 76.56% in the prior quarter.
- Over five years, Gross Margin peaked at 78.61% in Q2 2024 and troughed at 76.05% in Q3 2025.
- A 5-year average of 77.45% and a median of 77.43% in 2023 frame the typical range for Gross Margin.
- Across the five-year window, Gross Margin surged 160 bps in 2022 and plunged 199 bps in 2025, its largest moves.
- Over 5 years, Gross Margin stood at 78.43% in 2022, then decreased by 1 bps to 77.57% in 2023, then declined by 0 bps to 77.47% in 2024, then slipped by 1 bps to 76.56% in 2025, then declined by 0 bps to 76.55% in 2026.
- The last three Gross Margin figures came in at 76.55% (Q1 2026), 76.56% (Q4 2025), and 76.05% (Q3 2025), per Business Quant data.
Peer Comparison
| # | Company | Market Cap | Enterprise Value | Gross Profit (Qtr) | Gross Margin (Qtr) |
|---|---|---|---|---|---|
| 1 | Palo Alto Networks | 320.54 Bn | 317.47 Bn | 2.30 Bn | 67.57% |
| 2 | CrowdStrike Holdings | 268.77 Bn | 263.80 Bn | 1.10 Bn | 74.57% |
| 3 | Fortinet | 131.12 Bn | 127.05 Bn | 1.64 Bn | 80.24% |
| 4 | Snowflake | 118.02 Bn | 115.67 Bn | 1.04 Bn | 67.02% |
| 5 | Datadog | 90.27 Bn | 85.29 Bn | 881.34 Mn | 78.59% |
| 6 | Axon Enterprise | 36.61 Bn | 35.93 Bn | 546.45 Mn | 60.42% |
| 7 | Zscaler | 34.97 Bn | 31.49 Bn | - | - |
| 8 | MongoDB | 34.51 Bn | 32.10 Bn | 569.77 Mn | 73.83% |
| 9 | Okta | 34.32 Bn | 32.02 Bn | 641.00 Mn | 79.63% |
| 10 | Baidu | 30.55 Bn | 8.15 Bn | 1.76 Mn | 0.04% |
Historic Data
| Date | Value |
|---|---|
| Jan 31, 2026 | 76.55% |
| Oct 31, 2025 | 76.56% |
| Jul 31, 2025 | 76.05% |
| Apr 30, 2025 | 77.00% |
| Jan 31, 2025 | 77.08% |
| Oct 31, 2024 | 77.47% |
| Jul 31, 2024 | 78.04% |
| Apr 30, 2024 | 78.61% |
| Jan 31, 2024 | 77.68% |
| Oct 31, 2023 | 77.57% |
| Jul 31, 2023 | 77.43% |
| Apr 30, 2023 | 77.11% |
| Jan 31, 2023 | 77.40% |
| Oct 31, 2022 | 78.43% |
| Jul 31, 2022 | 78.52% |
| Apr 30, 2022 | 77.68% |
| Jan 31, 2022 | 77.39% |
| Oct 31, 2021 | 77.37% |
| Jul 31, 2021 | 76.92% |
| Apr 30, 2021 | 77.90% |
Zscaler Gross Margin API
Pull this series into your own models, spreadsheets and apps with the Business Quant
Historical Metrics API. The request below matches the chart above — change the
frequency, period or values and it follows. Swap YOUR_API_KEY for your own key.
https://data.businessquant.com/historic?slug=gross-margin&ticker=ZS&period=max&api_key=YOUR_API_KEY
import requests
url = "https://data.businessquant.com/historic"
params = {"slug": "gross-margin", "ticker": "ZS", "period": "max", "api_key": "YOUR_API_KEY"}
data = requests.get(url, params=params).json()
const res = await fetch("https://data.businessquant.com/historic?slug=gross-margin&ticker=ZS&period=max&api_key=YOUR_API_KEY");
const data = await res.json();