{"id":294355,"date":"2026-04-16T16:18:58","date_gmt":"2026-04-16T16:18:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/yt-studio-analytics\/"},"modified":"2026-04-17T11:59:12","modified_gmt":"2026-04-17T11:59:12","slug":"frank-channel-analytics-for-youtube","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/frank-channel-analytics-for-youtube\/","author":23472108,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.1.2","stable_tag":"1.1.2","tested":"6.9.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Frank Channel Analytics for YouTube","header_author":"Frank Channel Analytics for YouTube","header_description":"Display YouTube channel analytics (demographics, geography, views, top content) on your WordPress site inside a beautiful dashboard.","assets_banners_color":"201d22","last_updated":"2026-04-17 11:59:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/pacogvillaran\/ytstudio-wordpress-plugin","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":178,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.6":{"tag":"1.0.6","author":"pacogvillaran","date":"2026-04-16 16:18:40"},"1.0.7":{"tag":"1.0.7","author":"pacogvillaran","date":"2026-04-17 09:19:52"},"1.0.8":{"tag":"1.0.8","author":"pacogvillaran","date":"2026-04-17 09:33:26"},"1.0.9":{"tag":"1.0.9","author":"pacogvillaran","date":"2026-04-17 10:27:54"},"1.1.0":{"tag":"1.1.0","author":"pacogvillaran","date":"2026-04-17 11:21:53"},"1.1.2":{"tag":"1.1.2","author":"pacogvillaran","date":"2026-04-17 11:59:12"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":3508275,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3508275,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.6","1.0.7","1.0.8","1.0.9","1.1.0","1.1.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The main overview dashboard showing channel stats and top content."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[232,434,521,6334,1610],"plugin_category":[36,50,56],"plugin_contributors":[260382],"plugin_business_model":[],"class_list":["post-294355","plugin","type-plugin","status-publish","hentry","plugin_tags-analytics","plugin_tags-dashboard","plugin_tags-statistics","plugin_tags-videos","plugin_tags-youtube","plugin_category-analytics","plugin_category-media","plugin_category-social-and-sharing","plugin_contributors-pacogvillaran","plugin_committers-pacogvillaran"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/frank-channel-analytics-for-youtube\/assets\/icon-256x256.jpg?rev=3508275","icon_2x":"https:\/\/ps.w.org\/frank-channel-analytics-for-youtube\/assets\/icon-256x256.jpg?rev=3508275","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Bring the power of YouTube Studio directly into your WordPress site!<\/p>\n\n<p>The <strong>Frank Channel Analytics for YouTube<\/strong> plugin connects to the official YouTube APIs to fetch and display your channel's key metrics, top content, and audience data. Whether you want to show off your channel's success to your website visitors, or you just want a personal dashboard inside your WP Admin, this plugin provides a clean, native-feeling interface perfectly modeled after YouTube Studio itself.<\/p>\n\n<h3>Free Features<\/h3>\n\n<ul>\n<li><strong>Stunning Design:<\/strong> A precise CSS recreation of the YouTube Studio dashboard interface.<\/li>\n<li><strong>Core Metrics:<\/strong> Instantly view Total Subscribers, Video Count, and Total Views.<\/li>\n<li><strong>Top Content:<\/strong> Displays your most popular videos ranked by view count.<\/li>\n<li><strong>Caching Engine:<\/strong> Uses WordPress transients to gracefully cache API responses for fast load times and minimal API calls.<\/li>\n<li><strong>Easy Shortcode:<\/strong> Just drop <code>[ytsa_studio_analytics]<\/code> onto any page or post.<\/li>\n<li><strong>Optional Attribution Link:<\/strong> Add <code>show_plugin_link=\"yes\"<\/code> to the shortcode if you want to show visitors where to get the plugin.<\/li>\n<\/ul>\n\n<h3>Pro Features<\/h3>\n\n<ul>\n<li><strong>Audience Analytics:<\/strong> Age, gender, geography, content types, and views-over-time charts.<\/li>\n<li><strong>Date Ranges:<\/strong> 7, 28, 90, and 365-day analytics periods.<\/li>\n<li><strong>Multiple Channels:<\/strong> Configure and switch between multiple YouTube channels.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to external services to authorize your account and fetch YouTube analytics data. Without these services, the plugin cannot display channel analytics.<\/p>\n\n<ol>\n<li><p><strong>Google YouTube APIs (Google LLC)<\/strong><\/p>\n\n<ul>\n<li><strong>What it does:<\/strong> Returns channel metadata, public stats, and private analytics data for the connected account.<\/li>\n<li><strong>Data sent:<\/strong> OAuth access token, selected channel ID(s), requested date range, and API request parameters.<\/li>\n<li><strong>When it is sent:<\/strong> When loading dashboard analytics or refreshing data.<\/li>\n<li><strong>Terms \/ privacy:<\/strong> <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a>, <a href=\"https:\/\/www.youtube.com\/t\/terms\">YouTube Terms of Service<\/a><\/li>\n<\/ul><\/li>\n<li><p><strong>YT Studio OAuth Proxy (service operated by plugin author)<\/strong><\/p>\n\n<ul>\n<li><strong>What it does:<\/strong> Secure server-side OAuth token exchange and token refresh for YouTube API access.<\/li>\n<li><strong>Data sent:<\/strong> One-time OAuth exchange code (during connect flow) and OAuth refresh token (during token refresh).<\/li>\n<li><strong>When it is sent:<\/strong> During account connection and when an access token expires.<\/li>\n<li><strong>Endpoint domain:<\/strong> <code>olivedrab-locust-806316.hostingersite.com<\/code><\/li>\n<li><strong>Terms \/ privacy:<\/strong> <a href=\"https:\/\/blockchain3rs.com\/ytstudio-terms\">OAuth Proxy Terms<\/a>, <a href=\"https:\/\/blockchain3rs.com\/ytstudio-privacy\">OAuth Proxy Privacy<\/a><\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/frank-channel-analytics-for-youtube<\/code> directory, or install the plugin directly through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to <strong>Settings &gt; Frank Channel Analytics for YouTube<\/strong>.<\/li>\n<li>Click \"Connect to YouTube\" to securely authorize the plugin to read your channel statistics.<\/li>\n<li>Use the shortcode <code>[ytsa_studio_analytics]<\/code> on any page or post to display the dashboard.<\/li>\n<\/ol>\n\n<p>To show an optional public plugin link below the dashboard, use <code>[ytsa_studio_analytics show_plugin_link=\"yes\"]<\/code>. The link is off by default.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20does%20it%20say%20%22forbidden%22%20on%20the%20demographics%20or%20geography%20tabs%3F\"><h3>Why does it say \"Forbidden\" on the Demographics or Geography tabs?<\/h3><\/dt>\n<dd><p>For privacy reasons, the YouTube Analytics API only returns demographic and geography data for channels that are <em>owned<\/em> by the authenticated Google account. If you connected an account that does not own the YouTube channel, you will only see public data (like subscriber count and top videos) but not private demographics.<\/p><\/dd>\n<dt id=\"what%20apis%20does%20this%20plugin%20use%3F\"><h3>What APIs does this plugin use?<\/h3><\/dt>\n<dd><p>We use the official YouTube Data API v3 (for channel info, public stats, and top videos) and the YouTube Analytics API (for private analytics like demographics and charts).<\/p><\/dd>\n<dt id=\"will%20this%20slow%20down%20my%20site%3F\"><h3>Will this slow down my site?<\/h3><\/dt>\n<dd><p>No. The plugin heavily utilizes WordPress transients to cache the JSON responses from Google for 24 hours. The dashboard loads instantly without making live API calls on every page load.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Premium: Hide upgrade calls-to-action when a premium package or active premium license is detected.<\/li>\n<li>Premium: Load premium frontend runtime from Freemius paid\/trial access instead of package marker alone.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Premium: Admin upgrade links now open the Freemius in-dashboard pricing page.<\/li>\n<li>Premium: Public Buy Premium buttons now point to the Freemius hosted checkout page.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Premium: Top content now follows the selected reporting period.<\/li>\n<li>Premium: Added a Lifetime period that shows the 10 most-viewed videos with comment counts.<\/li>\n<li>Updated Premium and plugin website links.<\/li>\n<\/ul>\n\n<h4>1.0.9<\/h4>\n\n<ul>\n<li>Fixed Premium frontend script loading so advanced tabs and date range controls remain interactive.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Added an opt-in frontend plugin link shortcode attribute. The WordPress.org build links to WordPress.org; the Premium build links to the Premium plugin page.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Added a compliant Plugins screen upgrade link for the external Premium version.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Freemius packaging: moved premium runtime into dedicated premium-only PHP\/JS files so the free artifact can be stripped cleanly.<\/li>\n<li>Free runtime now remains self-contained with only the banner and top content experience.<\/li>\n<li>Build pipeline: <code>--wporg-build<\/code> now excludes premium-only source files for local verification of the free package.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Freemius route: restored premium feature gating in source code for Free vs Pro packages.<\/li>\n<li>Free experience now focuses on channel summary and top content.<\/li>\n<li>Pro experience keeps advanced tabs, custom periods, and expanded analytics.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Compliance: Removed in-plugin premium gating and unlocked all bundled functionality.<\/li>\n<li>Compliance: Replaced inline admin JavaScript with an enqueued admin script file.<\/li>\n<li>Security\/maintenance: Updated bundled Chart.js from 4.4.1 to 4.5.1.<\/li>\n<li>Documentation: Expanded external services disclosure to include OAuth proxy usage and links to service terms\/privacy.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fix: Replaced timezone-sensitive <code>date()<\/code> usage with <code>gmdate()<\/code> for WordPress coding standards compliance.<\/li>\n<li>Security: Added unslash\/sanitize handling and nonce-context annotations in admin OAuth\/action request processing.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fix: Removed frontend nonce check on public channel data endpoint to correctly support full-page caching plugins (e.g. WP Rocket) for anonymous visitors.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Security: Hardened central OAuth flow with single-use server-to-server token exchange.<\/li>\n<li>UI: Improved error handling for users who connect with Manager access instead of Owner access.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release on WordPress.org repository.<\/li>\n<\/ul>","raw_excerpt":"A WordPress plugin to display your YouTube channel analytics inside a beautiful, YouTube Studio-style dashboard exactly where you want it.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/294355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=294355"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pacogvillaran"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=294355"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=294355"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=294355"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=294355"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=294355"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=294355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}