29
loading...
This website collects cookies to deliver better user experience
Technology drilldown
Technology comparison
Settings
Date | Technology | Origins | Percent good CWV |
---|---|---|---|
May 2021 | 1C-Bitrix | 35,385 | 56.30% |
May 2021 | TYPO3 CMS | 24,060 | 54.39% |
May 2021 | Drupal | 115,280 | 45.11% |
May 2021 | Zendesk | 34,713 | 43.26% |
May 2021 | Weebly | 15,920 | 33.35% |
May 2021 | Squarespace | 60,316 | 33.32% |
May 2021 | Joomla | 44,459 | 32.19% |
May 2021 | Wix | 54,604 | 31.52% |
May 2021 | Adobe Experience Manager | 15,276 | 27.65% |
May 2021 | WordPress | 1,731,010 | 24.53% |
form_factor
dimension representing the type of device the user was on. We segment all of the data in the dashboard by this dimension and call it the "Client", with values of either desktop or mobile.httparchive.core_web_vitals.technologies
. Feel free to query this table directly to extract information about specific technology trends, or even to build your own custom dashboards or visualizations.core_web_vitals.technologies
table:CREATE TEMP FUNCTION IS_GOOD(good FLOAT64, needs_improvement FLOAT64, poor FLOAT64) RETURNS BOOL AS (
good / (good + needs_improvement + poor) >= 0.75
);
CREATE TEMP FUNCTION IS_NON_ZERO(good FLOAT64, needs_improvement FLOAT64, poor FLOAT64) RETURNS BOOL AS (
good + needs_improvement + poor > 0
);
WITH unique_categories AS (
SELECT
ARRAY_AGG(DISTINCT LOWER(category)) AS categories
FROM
`httparchive.technologies.2021_05_01_mobile`
)
SELECT
date,
ARRAY_TO_STRING(ARRAY_AGG(DISTINCT category IGNORE NULLS ORDER BY category), ', ') AS categories,
app,
client,
COUNT(DISTINCT url) AS origins,
COUNT(DISTINCT IF(good_fid, url, NULL)) AS origins_with_good_fid,
COUNT(DISTINCT IF(good_cls, url, NULL)) AS origins_with_good_cls,
COUNT(DISTINCT IF(good_lcp, url, NULL)) AS origins_with_good_lcp,
COUNT(DISTINCT IF(any_fid, url, NULL)) AS origins_with_any_fid,
COUNT(DISTINCT IF(any_cls, url, NULL)) AS origins_with_any_cls,
COUNT(DISTINCT IF(any_lcp, url, NULL)) AS origins_with_any_lcp,
COUNT(DISTINCT IF(good_cwv, url, NULL)) AS origins_with_good_cwv,
COUNT(DISTINCT IF(any_lcp AND any_cls, url, NULL)) AS origins_eligible_for_cwv,
SAFE_DIVIDE(COUNTIF(good_cwv), COUNTIF(any_lcp AND any_cls)) AS pct_eligible_origins_with_good_cwv
FROM (
SELECT
date,
CONCAT(origin, '/') AS url,
IF(device = 'desktop', 'desktop', 'mobile') AS client,
IS_NON_ZERO(fast_fid, avg_fid, slow_fid) AS any_fid,
IS_GOOD(fast_fid, avg_fid, slow_fid) AS good_fid,
IS_NON_ZERO(small_cls, medium_cls, large_cls) AS any_cls,
IS_GOOD(small_cls, medium_cls, large_cls) AS good_cls,
IS_NON_ZERO(fast_lcp, avg_lcp, slow_lcp) AS any_lcp,
IS_GOOD(fast_lcp, avg_lcp, slow_lcp) AS good_lcp,
(IS_GOOD(fast_fid, avg_fid, slow_fid) OR fast_fid IS NULL) AND
IS_GOOD(small_cls, medium_cls, large_cls) AND
IS_GOOD(fast_lcp, avg_lcp, slow_lcp) AS good_cwv
FROM
`chrome-ux-report.materialized.device_summary`
WHERE
date >= '2020-01-01'
) JOIN (
SELECT DISTINCT
CAST(REGEXP_REPLACE(_TABLE_SUFFIX, r'(\d)_(\d{2})_(\d{2}).*', r'202\1-\2-\3') AS DATE) AS date,
IF(category != '' AND LOWER(category) IN UNNEST((SELECT categories FROM unique_categories)), category, NULL) AS category,
app,
IF(ENDS_WITH(_TABLE_SUFFIX, 'desktop'), 'desktop', 'mobile') AS client,
url
FROM
`httparchive.technologies.202*`
WHERE
app IS NOT NULL AND
app != ''
) USING (date, url, client)
GROUP BY
date,
app,
client