YouTube Analytics
Stay organized with collections
Save and categorize content based on your preferences.
Create report for a channel
function runYoutubeAnalyticsReport() {
// Get the list of all channels.
var myChannels = YouTube.Channels.list('id', {mine: true});
// Pick the first available channel.
var channel = myChannels.items[0];
var channelId = channel.id;
// Set the dates for report.
var today = new Date();
var oneMonthAgo = new Date();
oneMonthAgo.setMonth(today.getMonth() - 1);
var todayFormatted = Utilities.formatDate(today, 'UTC', 'yyyy-MM-dd');
var oneMonthAgoFormatted = Utilities.formatDate(oneMonthAgo, 'UTC',
'yyyy-MM-dd');
// See https://developers.google.com/youtube/analytics/v1/reports for
// supported dimensions and metrics.
var analyticsResponse = YouTubeAnalytics.Reports.query(
'channel==' + channelId,
oneMonthAgoFormatted,
todayFormatted,
'views,likes,dislikes,shares',
{
dimensions: 'day',
sort: '-day'
});
console.log(analyticsResponse);
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[null,null,["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eThis script utilizes the YouTube Data API to generate a report for your YouTube channel.\u003c/p\u003e\n"],["\u003cp\u003eIt retrieves data from the past month, including daily views, likes, dislikes, and shares.\u003c/p\u003e\n"],["\u003cp\u003eThe report focuses on the performance of a single channel, prioritizing the first one found in your account if you have multiple.\u003c/p\u003e\n"],["\u003cp\u003eData is formatted for logging to the console, providing a raw overview of your channel's recent activity.\u003c/p\u003e\n"]]],[],null,["# YouTube Analytics\n\nCreate report for a channel\n---------------------------\n\n```gdscript\nfunction runYoutubeAnalyticsReport() {\n // Get the list of all channels.\n var myChannels = YouTube.Channels.list('id', {mine: true});\n\n // Pick the first available channel.\n var channel = myChannels.items[0];\n var channelId = channel.id;\n\n // Set the dates for report.\n var today = new Date();\n var oneMonthAgo = new Date();\n oneMonthAgo.setMonth(today.getMonth() - 1);\n\n var todayFormatted = Utilities.formatDate(today, 'UTC', 'yyyy-MM-dd');\n var oneMonthAgoFormatted = Utilities.formatDate(oneMonthAgo, 'UTC',\n 'yyyy-MM-dd');\n\n // See https://developers.google.com/youtube/analytics/v1/reports for\n // supported dimensions and metrics.\n var analyticsResponse = YouTubeAnalytics.Reports.query(\n 'channel==' + channelId,\n oneMonthAgoFormatted,\n todayFormatted,\n 'views,likes,dislikes,shares',\n {\n dimensions: 'day',\n sort: '-day'\n });\n console.log(analyticsResponse);\n}\n```"]]