PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.30.0
Independent Analytics – WordPress Analytics Plugin v1.30.0
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / sql / get_cities.txt
independent-analytics / sql Last commit date
sessions 2 years ago create_city.txt 2 years ago create_country.txt 2 years ago create_referrer.txt 3 years ago create_resource.txt 3 years ago create_view.txt 3 years ago get_campaign.txt 3 years ago get_campaigns.txt 2 years ago get_cities.txt 2 years ago get_city.txt 2 years ago get_countries.txt 2 years ago get_country.txt 2 years ago get_current_traffic.txt 2 years ago get_device_browsers.txt 2 years ago get_device_operating_systems.txt 2 years ago get_device_types.txt 2 years ago get_referrer.txt 3 years ago get_referrers.txt 2 years ago get_resource.txt 3 years ago get_resources.txt 2 years ago get_visitors_by_minute_interval.txt 3 years ago get_visitors_by_ten_second_interval.txt 3 years ago
get_cities.txt
50 lines
1 SELECT
2 *
3 FROM (
4 SELECT
5 countries.country_code,
6 cities.city,
7 cities.subdivision,
8 countries.country,
9 countries.continent,
10 GROUP_CONCAT(DISTINCT cities.city_id) AS city_ids,
11 COUNT(DISTINCT IF(views.viewed_at BETWEEN :start AND :end, views.id, NULL)) AS views,
12 COUNT(DISTINCT IF(views.viewed_at BETWEEN :previous_start AND :previous_end, views.id, NULL)) AS previous_period_views,
13 COUNT(DISTINCT IF(views.viewed_at BETWEEN :start AND :end, sessions.visitor_id, NULL)) AS visitors,
14 COUNT(DISTINCT IF(views.viewed_at BETWEEN :previous_start AND :previous_end, sessions.visitor_id, NULL)) AS previous_period_visitors,
15 COUNT(DISTINCT IF(views.viewed_at BETWEEN :start AND :end, sessions.session_id, NULL)) AS sessions,
16 COUNT(DISTINCT IF(views.viewed_at BETWEEN :previous_start AND :previous_end, sessions.session_id, NULL)) AS previous_previous_sessions,
17 AVG( IF(views.viewed_at BETWEEN :start AND :end, TIMESTAMPDIFF(SECOND, sessions.created_at, sessions.ended_at), NULL)) AS average_session_duration,
18 AVG( IF(views.viewed_at BETWEEN :previous_start AND :previous_end, TIMESTAMPDIFF(SECOND, sessions.created_at, sessions.ended_at), NULL)) AS previous_period_average_session_duration,
19 COUNT(DISTINCT IF(views.viewed_at BETWEEN :start AND :end AND sessions.final_view_id IS NULL, sessions.session_id, NULL)) AS bounces,
20 SUM( IF(views.viewed_at BETWEEN :start AND :end, wc.orders, NULL)) AS wc_orders,
21 SUM( IF(views.viewed_at BETWEEN :start AND :end, wc.gross_sales, NULL)) AS wc_gross_sales,
22 SUM( IF(views.viewed_at BETWEEN :start AND :end, wc.total_refunds, NULL)) AS wc_refunds,
23 SUM( IF(views.viewed_at BETWEEN :start AND :end, wc.total_refunded, NULL)) AS wc_refunded_amount
24 FROM
25 wp_independent_analytics_views AS views
26 LEFT JOIN wp_independent_analytics_sessions AS sessions ON views.session_id = sessions.session_id
27 JOIN wp_independent_analytics_cities AS cities ON sessions.city_id = cities.city_id
28 JOIN wp_independent_analytics_countries AS countries ON cities.country_id = countries.country_id
29 JOIN (
30 SELECT
31 views.session_id,
32 COUNT(DISTINCT wc_orders.order_id) AS orders,
33 IFNULL(SUM(wc_orders.total), 0) AS gross_sales,
34 IFNULL(SUM(wc_orders.total_refunded), 0) AS total_refunded,
35 IFNULL(SUM(wc_orders.total_refunds), 0) AS total_refunds
36 FROM
37 wp_independent_analytics_views AS views
38 LEFT JOIN wp_independent_analytics_wc_orders AS wc_orders ON views.id = wc_orders.view_id AND wc_orders.status IN('wc-completed', 'completed', 'wc-processing', 'processing', 'wc-refunded', 'refunded')
39 GROUP BY
40 views.session_id) AS wc ON wc.session_id = sessions.session_id
41 WHERE
42 views.viewed_at BETWEEN :previous_start AND :end
43 GROUP BY
44 sessions.city_id
45 ORDER BY
46 visitors DESC,
47 views DESC,
48 city) AS subquery
49 WHERE
50 views > 0 OR previous_period_views > 0