⛔️ DEPRECATED
⛔️ DEPRECATION NOTICE: Google Analytics 4 is replacing Universal Analytics, making this library obsolete. After July 1, 2023 all standard Universal Analytics properties will stop processing new hits. Read more here.
React hook for loading the Google Analytics Embed API.
👁️ Full Example
For components, check out: React Analytics Charts
Overview
The useAnalyticsApi
hook can be used to load and ready the Google Analytics Embed API in React.
What is the Google Analytics Embed API? It is a JavaScript library that allows you to easily create and embed Google Analytics charts on a third-party website in a matter of minutes.
This library also provides helper hooks for the API's built-in components:
- useAuthorize - Authorize the user
- useViewSelector - Render an Analytics ViewSelector
- useDataChart - Render a DataChart
- useData - Query data from the Google Analytics Core Reporting API and get back the results
- useSignOut - Sign the user out
Looking for components? A full React component library that wraps these hooks is now available! Check out React Analytics Charts.
Features include:
- 🚀 Easily load the Google Analytics Embed API
- Loading and readying the API is handled for you so you can just focus on the good stuff, like embedding charts.
- 📈 Drop in charts quickly and easily
- Embed Google Analytics charts on your site in minutes.
- 💁 From auth to charts, it's handled for you
- Side-effects are handled for common API operations. Need to handle the auth flow, render a view selector, or render charts? Got ya covered!
- 🧼 Minimized
window
dependence- Google loads the API to
window
, but this hook pulls the API into a singleton to limitwindow
dependence.
- Google loads the API to
- 🤝 Hooks stay synchronized
- When calling the API hook in multiple places, changes to readiness and auth will propate to all hooks, keeping them in sync.
- ✨ Full examples and rich documentation
- Develop easier with plenty of examples, starting points, and rich docs.
- And more!
Installation
npm i react-use-analytics-api
Quick Start
To load the Google Analytics Embed API, use the useAnalyticsApi
hook:
import { useAnalyticsApi } from 'react-use-analytics-api';
Then in your function component:
const { ready, gapi, authorized, error } = useAnalyticsApi();
When ready
is true
, the gapi
object will be set to the loaded and ready-to-use Google Analytics Embed API. The gapi
object will be undefined
until it is ready to use.
The authorized
property will be true
when the user is authorized, false
otherwise.
From here, you can authorize the user, render a view selector, and render charts... or do anything else you want with the API!
🏁 For a full example demonstrating all features of this library including full auth flow, see the useDataChart example. This is a great starting point for building your own charts dashboard.
TypeScript
Type definitions have been included for TypeScript support.
Contributing
Open source software is awesome and so are you. 😎
Feel free to submit a pull request for bugs or additions, and make sure to update tests as appropriate. If you find a mistake in the docs, send a PR! Even the smallest changes help.
For major changes, open an issue first to discuss what you'd like to change.
See Kindling for npm script documentation.
⭐ Found It Helpful? Star It!
If you found this project helpful, let the community know by giving it a star: 👉⭐