Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta guía de inicio rápido, aprenderás cómo agregar Google Analytics a tu app y comenzar a registrar eventos.
Google Analytics recopila datos de uso y comportamiento de tu app web. El SDK registra dos tipos principales de información:
Eventos: Lo que sucede en la app, como las acciones de los usuarios, los eventos del sistema o los errores.
Propiedades del usuario: Los atributos que defines para describir segmentos de la base de usuarios, como la preferencia de idioma o la ubicación geográfica.
Analytics registra automáticamente algunos eventos y propiedades del usuario; no es necesario que agregues código para habilitarlos.
Si quieres crear un nuevo proyecto de Firebase, habilita Google Analytics
durante el flujo de trabajo de creación del proyecto.
Si usas un proyecto de Firebase existente que no tiene habilitado Google Analytics, ve a la pestaña Integraciones de tu settings >
Configuración del proyecto para habilitarlo.
Cuando habilitas Google Analytics en tu proyecto, las apps web de Firebase se vinculan a los flujos de datos de Google Analytics asociados con una propiedad App + Web.
Agrega el SDK de Analytics a tu app
En función de cómo esté alojada tu aplicación web, es posible que la configuración se controle automáticamente o que debas actualizar tu objeto de configuración de Firebase.
Si tu app web ya usa Google Analytics, es posible que debas aplicar la configuración adicional que se describe en Usa Firebase con el etiquetado gtag.js existente.
Verifica que el objeto de configuración de Firebase en tu código contenga measurementId. Este ID se crea automáticamente cuando habilitas Analytics en el proyecto de Firebase y registras una app web, y se necesita para usar Analytics.
Si tu app usa Firebase Hostingy usa URL reservadas para los SDK de Firebase:
Firebase controla automáticamente la configuración de la app. Para completar la configuración, agrega las secuencias de comandos de la tarjeta Tus apps de la Configuración del proyecto a la etiqueta <body> de la app (si aún no lo has hecho).
Si la app no usa URLs reservadasy trabajas con una app web existente, actualiza el objeto de configuración de Firebase en tu código para asegurarte de que esté presente el campo measurementId. El objeto de configuración debe ser similar al siguiente ejemplo:
// For FirebaseJavaScript SDK v7.20.0 and later, `measurementId` is an optional fieldconstfirebaseConfig={apiKey:"API_KEY",authDomain:"PROJECT_ID.firebaseapp.com",databaseURL:"https://PROJECT_ID.firebaseio.com",projectId:"PROJECT_ID",storageBucket:"PROJECT_ID.firebasestorage.app",messagingSenderId:"SENDER_ID",appId:"APP_ID",measurementId:"G-GA_MEASUREMENT_ID"};
Si antes ejecutabas Google Analytics en tu app con el fragmento gtag.js, es posible que tu app requiera una configuración adicional si piensas realizar una de las siguientes acciones:
Agregar llamadas de Google Analytics desde Firebase a la página, pero también planeas seguir usando llamadas a gtag() directamente en la misma página.
Utilizar el mismo ID de medición entre las llamadas directas de gtag() y los datos de Google Analytics enviados a Firebase
A fin de garantizar que tus eventos estén disponibles para que los utilicen todos los servicios de Firebase, completa los siguientes pasos de configuración adicionales:
Quita la línea gtag('config', 'GA_MEASUREMENT_ID');
en la que GA_MEASUREMENT_ID es el measurementId de tu
aplicación web de Firebase. Si tienes IDs de otras propiedades de Analytics
en la página, no es necesario que quites su línea de configuración.
Asegúrate de llamar a firebase.analytics() antes de enviar eventos
con gtag().
De lo contrario, los eventos enviados a ese ID con llamadas de gtag() no se asociarán con Firebase y no estarán disponibles como destino en otros servicios de Firebase.
Algunos eventos se
recomiendan para todas las apps;
otros se recomiendan para verticales o tipos de empresas específicos. Debes enviar los eventos sugeridos junto con sus parámetros prescritos a fin de asegurarte de tener la mayor cantidad posible de detalles en tus informes y aprovechar las integraciones y funciones futuras cuando estén disponibles. En esta sección, se muestra cómo registrar un
evento predefinido. Para obtener más información sobre el registro de eventos, consulta
Registra eventos.
En el siguiente ejemplo, se muestra cómo registrar un evento recomendado para indicar que un
usuario recibió una notificación en tu app:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[],[],null,["iOS+ Android Web Flutter \n\n\u003cbr /\u003e\n\nThis quickstart shows you how to add Google Analytics to your app and\nbegin logging events.\n\nGoogle Analytics collects usage and behavior data for your app. The SDK\nlogs two primary types of information:\n\n- **Events:** What is happening in your app, such as user actions, system events, or errors.\n- **User properties:** Attributes you define to describe segments of your user base, such as language preference or geographic location.\n\nAnalytics automatically logs some\n[events](https://support.google.com/firebase/answer/6317485) and\n[user properties](https://support.google.com/firebase/answer/6317486);\nyou don't need to add any code to enable them.\n\nBefore you begin\n\nIf you haven't already, [add Firebase to your JavaScript\nproject](/docs/web/setup) and make sure that Google Analytics is enabled\nin your Firebase project:\n\n- If you're creating a new Firebase project, enable Google Analytics\n during the project creation workflow.\n\n- If you're using an existing Firebase project that doesn't have\n Google Analytics enabled, go to the\n [*Integrations*](//console.firebase.google.com/project/_/settings/integrations)\n tab of your settings \\\u003e *Project settings* to enable it.\n\n| **Warning:** Any Firebase project created before July 31, 2019 must be upgraded to the full [Google Analytics 4 experience](https://support.google.com/analytics/answer/10089681) if it hasn't already. (Banners display in the Analytics dashboard if an upgrade is required.) The associated Terms of Service must be [accepted by February 15, 2022](https://support.google.com/analytics/answer/10960488) to ensure data collection continues. See the Support FAQ on the upgrade for help [finding project Owners](/support/faq#analytics-upgrade-tos).\n\nWhen you enable Google Analytics in your project, your Firebase web apps\nare linked to Google Analytics data streams associated with an\n[App + Web property](//developers.google.com/analytics/devguides/collection/app-web/tag-guide).\n\nAdd the Analytics SDK to your app\n\nDepending on how your web application is hosted, your configuration may be\nhandled automatically or you may need to update your\n[Firebase configuration object](/docs/projects/learn-more#config-files-objects).\nIf your web app already uses Google Analytics, you may need to do additional\nsetup described in [Use Firebase with existing gtag.js tagging](#firebase-gtag).\n\n1. Check that your Firebase config object in your code contains\n `measurementId`. This ID is automatically created when you enable\n Analytics in your Firebase project and register a web app, and it's\n required to use Analytics.\n\n | **Note:** For apps using the **Firebase JavaScript SDK v7.20.0 and later** , Firebase dynamically fetches the `measurementId` when your app initializes Analytics. Having this ID in your config object is optional, but it does serve as a fallback in the rare case that the dynamic fetch fails.\n - **If your app uses Firebase Hosting *and* uses\n [reserved URLs](/docs/hosting/reserved-urls) for the Firebase SDKs**:\n\n Firebase automatically handles configuring your application. To complete\n setup, add the scripts from the ***Your apps*** card in your\n [Project settings](https://console.firebase.google.com/project/_/settings/general/)\n to the \\\u003cbody\\\u003e tag of your app, if you haven't already.\n - **If your app does not use reserved URLs** :\n **If you're working with an existing web app** , update the Firebase config\n object in your code to ensure the `measurementId` field is present. The\n config object should look similar to the following example:\n\n // For Firebase JavaScript SDK v7.20.0 and later, `measurementId` is an optional field\n const firebaseConfig = {\n apiKey: \"\u003cvar translate=\"no\"\u003eAPI_KEY\u003c/var\u003e\",\n authDomain: \"\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.firebaseapp.com\",\n databaseURL: \"https://\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e.firebaseio.com\",\n projectId: \"\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e\",\n storageBucket: \"\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.firebasestorage.app`\",\n messagingSenderId: \"\u003cvar translate=\"no\"\u003eSENDER_ID\u003c/var\u003e\",\n appId: \"\u003cvar translate=\"no\"\u003eAPP_ID\u003c/var\u003e\",\n measurementId: \"G-\u003cvar translate=\"no\"\u003eGA_MEASUREMENT_ID\u003c/var\u003e\"\n };\n\n2. If you haven't already, [install the Firebase JS SDK and initialize Firebase](/docs/web/setup#add-sdk-and-initialize).\n\n3. Add the Analytics JS SDK and initialize Analytics:\n\nWeb\n\n\n| [Learn more](/docs/web/learn-more#modular-version) about the tree-shakeable modular web API and [upgrade](/docs/web/modular-upgrade) from the namespaced API.\n\n\u003cbr /\u003e\n\n```python\nimport { initializeApp } from \"firebase/app\";\nimport { getAnalytics } from \"firebase/analytics\";\n\n// TODO: Replace the following with your app's Firebase project configuration\n// See: https://firebase.google.com/docs/web/learn-more#config-object\nconst firebaseConfig = {\n // ...\n};\n\n// Initialize Firebase\nconst app = initializeApp(firebaseConfig);\n\n\n// Initialize Analytics and get a reference to the service\nconst analytics = getAnalytics(app);\n```\n\nWeb\n\n\n| [Learn more](/docs/web/learn-more#modular-version) about the tree-shakeable modular web API and [upgrade](/docs/web/modular-upgrade) from the namespaced API.\n\n\u003cbr /\u003e\n\n```python\nimport firebase from \"firebase/compat/app\";\nimport \"firebase/compat/analytics\";\n\n// TODO: Replace the following with your app's Firebase project configuration\n// See: https://firebase.google.com/docs/web/learn-more#config-object\nconst firebaseConfig = {\n // ...\n};\n\n// Initialize Firebase\nfirebase.initializeApp(firebaseConfig);\n\n\n// Initialize Analytics and get a reference to the service\nconst analytics = firebase.analytics();\n```\n\nUse Firebase with existing gtag.js tagging\n\nIf you previously had Google Analytics running in your app using the\n[gtag.js snippet](//developers.google.com/analytics/devguides/collection/gtagjs/),\nyour app may require additional setup if you plan to do one of the following:\n\n- Add Google Analytics calls from Firebase to the page but also plan to continue using `gtag()` calls directly on the same page.\n- Want to use the same measurement ID between both direct `gtag()` calls and Google Analytics data sent to Firebase.\n\nTo ensure your events are available for use by all Firebase services, complete\nthe following additional setup steps:\n\n- Remove the line `gtag('config', '`\u003cvar translate=\"no\"\u003eGA_MEASUREMENT_ID\u003c/var\u003e`');` where the `GA_MEASUREMENT_ID` is the `measurementId` of your Firebase web app. If you have other IDs for other Analytics properties on the page, you do not need to remove their config line.\n- Make sure you call `firebase.analytics()` before you send any events with `gtag()`.\n\nOtherwise, events sent to that ID with `gtag()` calls will not be associated\nwith Firebase and will not be available for targeting in other\nFirebase services.\n\nStart logging events\n\nAfter you have initialized the\n[Analytics service](/docs/reference/js/analytics), you can\nbegin to log events with the\n[`logEvent()`](/docs/reference/js/analytics#logevent)\nmethod.\n\nCertain events are\n[recommended for all apps](https://support.google.com/firebase/answer/6317498);\nothers are recommended for specific business types or verticals. You should send\nsuggested events along with their prescribed parameters, to ensure maximum\navailable detail in your reports and to benefit from future features and\nintegrations as they become available. This section demonstrates logging a\npre-defined event, for more information on logging events, see\n[Log events](/docs/analytics/events?platform=web).\n\nThe following example demonstrates how to log a recommended event to indicate a\nuser has received a notification in your app: \n\nWeb \n\n```javascript\nimport { getAnalytics, logEvent } from \"firebase/analytics\";\n\nconst analytics = getAnalytics();\nlogEvent(analytics, 'notification_received');https://github.com/firebase/snippets-web/blob/467eaa165dcbd9b3ab15711e76fa52237ba37f8b/snippets/analytics-next/index/analytics_log_event.js#L8-L11\n```\n\nWeb \n\n```javascript\nfirebase.analytics().logEvent('notification_received');https://github.com/firebase/snippets-web/blob/467eaa165dcbd9b3ab15711e76fa52237ba37f8b/analytics/index.js#L12-L12\n```\n\nNext steps\n\n- Understand [each Analytics report](/docs/analytics/reports).\n- Use the [DebugView](/docs/analytics/debugview) to verify your events.\n- Explore your data in the [Firebase console](//console.firebase.google.com/project/_/analytics/).\n- Explore the guides on [events](/docs/analytics/events?platform=web) and [user properties.](/docs/analytics/user-properties?platform=web)\n- Learn how to export your data to [BigQuery.](https://support.google.com/firebase/answer/7030014)"]]