{"id":280717,"date":"2026-02-20T22:16:44","date_gmt":"2026-02-20T22:16:44","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/client-reporting-dashboard\/"},"modified":"2026-03-21T18:02:55","modified_gmt":"2026-03-21T18:02:55","slug":"cliredas-analytics-dashboard","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/cliredas-analytics-dashboard\/","author":23430804,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Cliredas - Client Dashboard for Google Analytics (GA4)","header_author":"Vasileios Zisis","header_description":"Client-friendly Google Analytics 4 (GA4) dashboard inside wp-admin.","assets_banners_color":"dfebf7","last_updated":"2026-03-21 18:02:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/vzisis\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":198,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"vzisis","date":"2026-02-20 22:20:00"},"1.0.1":{"tag":"1.0.1","author":"vzisis","date":"2026-03-21 18:02:55"}},"upgrade_notice":{"1.0.0":"<p>Initial stable release with GA4 connection and real GA4 reporting.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3466117,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3466117,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3466117,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3466117,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3466117,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3466117,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Dashboard (KPIs, chart toggle, top pages, devices, traffic sources).","2":"Settings page (OAuth credentials, connect\/disconnect, property selection)."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[232,434,193472,1005,3652],"plugin_category":[36],"plugin_contributors":[253418],"plugin_business_model":[],"class_list":["post-280717","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-dashboard","plugin_tags-ga4","plugin_tags-google-analytics","plugin_tags-reporting","plugin_category-analytics","plugin_contributors-vzisis","plugin_committers-vzisis"],"banners":{"banner":"https:\/\/ps.w.org\/cliredas-analytics-dashboard\/assets\/banner-772x250.png?rev=3466117","banner_2x":"https:\/\/ps.w.org\/cliredas-analytics-dashboard\/assets\/banner-1544x500.png?rev=3466117","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/cliredas-analytics-dashboard\/assets\/icon-128x128.png?rev=3466117","icon_2x":"https:\/\/ps.w.org\/cliredas-analytics-dashboard\/assets\/icon-256x256.png?rev=3466117","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/cliredas-analytics-dashboard\/assets\/screenshot-1.png?rev=3466117","caption":"Dashboard (KPIs, chart toggle, top pages, devices, traffic sources)."},{"src":"https:\/\/ps.w.org\/cliredas-analytics-dashboard\/assets\/screenshot-2.png?rev=3466117","caption":"Settings page (OAuth credentials, connect\/disconnect, property selection)."}],"raw_content":"<!--section=description-->\n<p>Adds a clean, client-friendly Google Analytics 4 (GA4) dashboard inside the WordPress admin.<\/p>\n\n<p>Use it to show key GA4 performance metrics without sending clients to the GA4 interface.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li>Connect Google Analytics 4 via OAuth (no service account needed)<\/li>\n<li>Select your GA4 Property from a dropdown<\/li>\n<li>Dashboard KPIs: Sessions, Total users, Pageviews, Avg engagement time<\/li>\n<li>Toggle line chart between Sessions over time and Total users over time<\/li>\n<li>Top pages table with Sessions, Views, and Avg engagement time per page<\/li>\n<li>Device breakdown (desktop \/ mobile \/ tablet)<\/li>\n<li>Traffic sources breakdown (Organic Search \/ Direct \/ Referral \/ Social \/ Other)<\/li>\n<li>Built-in caching (default 15 minutes) for fast dashboards and fewer API calls<\/li>\n<li>Clear Cache button (forces a fresh fetch on the next load)<\/li>\n<li>Optional access control: allow Editors to view the dashboard<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>The plugin does not send analytics data anywhere except Google APIs and your WordPress site.<\/p>\n\n<p>When enabled and connected, the plugin sends requests to:\n* Google OAuth 2.0 endpoints (to authorize and refresh access): https:\/\/accounts.google.com\/ and https:\/\/oauth2.googleapis.com\/\n* Google Analytics Admin API (to list properties): https:\/\/analyticsadmin.googleapis.com\/\n* Google Analytics Data API (to fetch reports): https:\/\/analyticsdata.googleapis.com\/<\/p>\n\n<p>Data sent includes your OAuth client credentials (Client ID + Client Secret), authorization codes, refresh\/access tokens, and API request parameters (selected property, date range, requested dimensions\/metrics).<\/p>\n\n<p>These requests are only made when an authorized WordPress admin user connects GA4 and when the dashboard needs to load or refresh data.<\/p>\n\n<p>Google privacy policy: https:\/\/policies.google.com\/privacy<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to \/wp-content\/plugins\/ or install via Plugins &gt; Add New (when published).<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Client Report in the admin menu.<\/li>\n<li>Go to Settings &gt; Client Report and add your Google OAuth Client ID and Client Secret.<\/li>\n<li>In Google Cloud Console, add the Redirect URI shown in Settings as an Authorized redirect URI.<\/li>\n<li>Click Connect Google Analytics, complete the consent screen, then select a GA4 Property.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20connect%20to%20google%20analytics%204%3F\"><h3>Does this connect to Google Analytics 4?<\/h3><\/dt>\n<dd><p>Yes. Use Settings &gt; Client Report to connect GA4 via OAuth and select a property.<\/p><\/dd>\n<dt id=\"why%20does%20google%20block%20my%20redirect%20uri%20on%20a%20local%20domain%3F\"><h3>Why does Google block my redirect URI on a local domain?<\/h3><\/dt>\n<dd><p>Google OAuth redirect URIs must use a public top-level domain (e.g. .com, .org). For local development, use a public tunnel (e.g. ngrok) or a real domain.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20store%20tokens%2Fsecrets%20in%20the%20database%3F\"><h3>Does this plugin store tokens\/secrets in the database?<\/h3><\/dt>\n<dd><p>Yes. OAuth credentials and tokens are stored in the WordPress options table under the <code>cliredas_settings<\/code> option. The plugin never displays your saved client secret back in the UI.<\/p><\/dd>\n<dt id=\"can%20editors%20see%20the%20dashboard%3F\"><h3>Can Editors see the dashboard?<\/h3><\/dt>\n<dd><p>Yes. Enable the option in Settings &gt; Client Report.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>GA4 OAuth connect + disconnect<\/li>\n<li>GA4 property listing + selection<\/li>\n<li>Real GA4 dashboard data (Data API)<\/li>\n<li>Dashboard improvements: chart toggle, pageviews KPI, traffic sources, caching + clear cache<\/li>\n<\/ul>","raw_excerpt":"Client-friendly Google Analytics 4 (GA4) dashboard inside wp-admin with real GA4 data, caching, and clear setup steps.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/280717","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=280717"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vzisis"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=280717"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=280717"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=280717"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=280717"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=280717"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=280717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}