Skip to main content

Analyze Performance of fixed position feature

Query to grab how fixed positions is doing:

WITH foo AS (
SELECT
'formBuilder' AS app_type,
SUM( CASE WHEN a.content::JSONB @> '{"formTriggerElementType": "fixed"}' THEN 1 ELSE 0 END ) AS fixed,
COUNT(*) AS all
FROM
apps a
JOIN app_type_mapper atm ON atm.alias = a.app_type AND atm.main = 'formBuilder'
WHERE
a.created_at > '11-21-2018'
AND a.external_id_type IS DISTINCT FROM 'wix'
AND a.last_viewed_url IS NOT NULL
AND a.last_viewed_at IS NOT NULL
UNION ALL
SELECT
'popup' AS app_type,
SUM( CASE WHEN a.content::JSONB @> '{"clickTriggerElementType": "fixed", "showTrigger": "click"}' THEN 1 ELSE 0 END ) AS fixed,
COUNT(*) AS all
FROM
apps a
JOIN app_type_mapper atm ON atm.alias = a.app_type AND atm.main = 'popup'
WHERE
a.created_at > '11-8-2018'
AND a.external_id_type IS DISTINCT FROM 'wix'
AND a.last_viewed_url IS NOT NULL
AND a.last_viewed_at IS NOT NULL
UNION ALL
SELECT
'countdownTimer' AS app_type,
SUM( CASE WHEN a.content::JSONB @> '{"pluginPosition": "fixed"}' THEN 1 ELSE 0 END ) AS fixed,
COUNT(*) AS all
FROM
apps a
JOIN app_type_mapper atm ON atm.alias = a.app_type AND atm.main = 'countdownTimer'
WHERE
a.created_at > '10-26-2018'
AND a.external_id_type IS DISTINCT FROM 'wix'
AND a.last_viewed_url IS NOT NULL
AND a.last_viewed_at IS NOT NULL

UNION ALL
SELECT
'socialMediaIcons' AS app_type,
SUM( CASE WHEN a.content::JSONB @> '{"pluginPosition": "fixed"}' THEN 1 ELSE 0 END ) AS fixed,
COUNT(*) AS all
FROM
apps a
JOIN app_type_mapper atm ON atm.alias = a.app_type AND atm.main = 'socialMediaIcons'
WHERE
a.created_at > '10-26-2018'
AND a.external_id_type IS DISTINCT FROM 'wix'
AND a.last_viewed_url IS NOT NULL
AND a.last_viewed_at IS NOT NULL
)
SELECT
*,
ROUND((foo.fixed/foo.all::FLOAT*100)::NUMERIC,2) ||'%' AS pct
FROM foo
;