Plugin Information
✅
Link to the plugin page:
Demo to Preview the Plugin
✅
Introduction
The Extended Google Analytics plugin enables seamless integration with Google Analytics, bringing powerful reporting capabilities directly into your app without coding. This plugin allows you to access account information, retrieve GA4 reports, monitor real-time data, and more, providing a comprehensive view of your website's analytics. Ideal for creating custom dashboards, this plugin helps you stay informed and make data-driven decisions right from within your application.
Support Our Efforts
👛 Support our mission to keep this plugin free! Your donations allow us to dedicate time and resources to maintaining and improving it for everyone’s benefit. Contribute here: https://zeroqo.de/support.
Prerequisites
You must have a Google developer account and Google Analytics account to use the plugin.
- You must create a project with OAuth authentication.
- You must create accounts on Google Analytics.
How to setup
Step 1: Install the Plugin
- Go to the Plugin Tab:
- In your Bubble editor, navigate to the Plugins section.
- Click on + Add Plugins.
- Search for the Plugin:
- In the search bar, type "Extended Google Analytics" by Zeroqode.
- Click the plugin from the list and then click the Install button.
- Plugin Installed:
- Once installed, the plugin should appear in the Plugin list.
Step 2: Obtain Google Analytics API Keys
Before configuring the plugin, you need to set up Google Analytics and obtain the necessary API keys:
- Create or Access Your Google Analytics Account:
- Visit Google Analytics.
- If you don't have an account, create one. If you already have an account, log in.
- Set up Google Analytics Property:
- In Google Analytics, navigate to Admin > Property > Create Property (or select an existing property).
- Set up your property by following the instructions on the Google Analytics setup page.
- Get Measurement ID:
- In your Property settings, under Data Collection and Modification > Data Streams > Select a Property, copy your Measurement ID (e.g., G-L7XXX7ETLL).
Step 3: Setup for OAuth 2.0 Credentials in Google Cloud Console
- Go to Google Cloud Console:
- Visit the Google Cloud Console.
- Ensure you're signed in and have selected the correct project.
- Enable the Analytics API (if not done already):
- Go to or search for APIs & Services > Library.
- Search for Google Analytics Data API and Enable it.
- Navigate to Credentials:
- Go to APIs & Services > Credentials.
- Click Create Credentials > OAuth Client ID.
- Configure OAuth Consent Screen:
- If you haven’t configured it already, you’ll need to set up the OAuth consent screen by providing basic information (like the app name, email, and logo).
- Save the changes.
- Create OAuth 2.0 Client ID:
- Select Web application as the application type.
- Add Authorized Redirect URIs: This is the critical part. The Redirect URI is the address to which Google sends the response after the user has granted or denied permissions.
For Bubble apps, the redirect URI typically follows this format:
- Replace your-app-name with the actual name of your app in Bubble.
- For example, if your Bubble app is called MyApp, the redirect URI would be:
- Add the URI:
- In the Authorized redirect URIs section, add the following:
https://your-app-name.bubbleapps.io/api/1.1/oauth_redirect
- This is the default redirect URI used by Bubble's OAuth system.
- Save and Get the Client ID & Secret:
- Once you've added the redirect URI, click Save.
- Google will generate your Client ID and Client Secret.
- Copy these credentials and enter them into the plugin configuration in your Bubble app.
Step 4: Plugin Configuration in Bubble
Once you have the API keys, configure the plugin in Bubble:
- Navigate to Plugin Settings:
- In your Bubble editor, go to the Plugins tab.
- Select Extended Google Analytics from your installed plugins list.
- Enter the API Keys:
- In the plugin settings, paste the Measurement ID you copied from Google Analytics into the Gtag and Gtag(header).
- Enter the OAuth Credentials:
- You’ll see input fields for App ID/API Key and App Secret.
- Copy the Client ID from the Google Cloud Console and paste into the App ID/API Key fields in the plugin settings.
- Copy the Client Secret from the Google Cloud Console and paste into the App Secret fields in the plugin settings.
Plugin Data Calls
Get List of Account
Description:
The
accounts.list
method retrieves all Google Analytics accounts that the caller can access. These accounts may or may not have GA4 properties. Soft-deleted (trashed) accounts are excluded by default. If no accounts are found, the method returns an empty list.Return Values:
Return type: JSON
json{ "kind": "text", "username": "text", "totalResults": "number", "startIndex": "number", "itemsPerPage": "number", "previousLink": "text", "nextLink": "text", "items": { "id": "text", "kind": "text", "selfLink": "text", "name": "text", "permissions effective": "undefined", "created": "text", "updated": "text", "childLink type": "text", "childLink href": "text" } }
Retrieve Reports
Description:
The
accounts.list
method fetches all Google Analytics accounts accessible by the caller. These accounts might or might not have GA4 properties. Soft-deleted accounts are excluded by default. If no accounts are found, the method returns an empty list.Name | Description | Type |
End-date | The end date for retrieving analytics data in the format YYYY-MM-DD. | Text |
Ids | The unique ID for the Google Analytics view (profile) to retrieve data from. | Text |
Start-date | The start date for retrieving analytics data in the format YYYY-MM-DD. | Text |
Metrics | Quantitative data to include in the report, like ga:sessions or ga:pageviews | Text |
Filters | Conditions to refine the data, such as limiting data by country or excluding certain events. | Text |
Dimensions | Attributes to segment the data by, such as ga:country or ga:eventCategory | Text |
Sort | Specifies how to order the results, by dimension or metric, and the direction (ascending or descending). | Text |
Max-results | Maximum number of rows to include in the response. | Text |
PrettyPrint | If true, formats the response for better readability. | Text |
Return Values:
Return type: JSON
json{ "kind": "text", "id": "text", "query start-date": "text", "query end-date": "text", "query ids": "text", "query metrics": "undefined", "query start-index": "number", "query max-results": "number", "itemsPerPage": "number", "totalResults": "number", "selfLink": "text", "profileInfo profileId": "text", "profileInfo accountId": "text", "profileInfo webPropertyId": "text", "profileInfo internalWebPropertyId": "text", "profileInfo profileName": "text", "profileInfo tableId": "text", "containsSampledData": "yes/no", "columnHeaders": { "name": "text", "columnType": "text", "dataType": "text" }, "totalsForAllResults ga:sessions": "text", "rows": { "rows item 1": "undefined" } }
Real Time Data
This API retrieves live event data from your Google Analytics property, showing user activity and interactions from the last few minutes. It helps you monitor what’s happening on your site or app in real time.
Name | Description | Type |
Ids | The ID of the Google Analytics property you want to retrieve data from. | Text |
Metrics | The numbers you want to track, like active users or event counts. | Text |
Dimensions | The categories you want to group the data by, such as event name or location. | Text |
Filters | Criteria to narrow down your data, so you see only what you need. | Text |
Max-results | The maximum number of rows you want in the response. | Text |
Sort | How you want to order the results, like by highest to lowest. | Text |
Return Values:
Return type: JSON
json{ "kind": "text", "id": "text", "query ids": "text", "query dimensions": "text", "query metrics": "undefined", "query sort": "undefined", "query filters": "text", "query max-results": "number", "totalResults": "number", "selfLink": "text", "profileInfo profileId": "text", "profileInfo accountId": "text", "profileInfo webPropertyId": "text", "profileInfo internalWebPropertyId": "text", "profileInfo profileName": "text", "profileInfo tableId": "text", "columnHeaders": { "name": "text", "columnType": "text", "dataType": "text" }, "totalsForAllResults rt:activeUsers": "number", "rows": { "rows item 1": "undefined" } }
Get accounts info
The
getAccountsInfo
API retrieves detailed information about all Google Analytics accounts accessible to the caller. This includes account details, associated web properties, and their respective profiles. It helps users manage and review their accounts and properties efficiently.Return Values:
Return type: JSON
json{ "kind": "text", "username": "text", "totalResults": "number", "startIndex": "number", "itemsPerPage": "number", "previousLink": "text", "nextLink": "text", "items": { "id": "text", "kind": "text", "name": "text", "webProperties": { "kind": "text", "id": "text", "name": "text", "internalWebPropertyId": "text", "level": "text", "websiteUrl": "text", "profiles": { "kind": "text", "id": "text", "name": "text", "type": "text" } } } }
Retrieve Reports v4
This API call generates a custom report from your Google Analytics event data. The report provides statistics derived from the collected data, formatted as a table with columns for specified dimensions and metrics. Metrics are individual user activity measurements, such as active users or event count, while dimensions categorize these metrics by criteria like country or event name.
Name | Description | Type |
ViewId | The unique identifier for the Google Analytics view from which the report is generated. | Text |
Return Values:
Return type: JSON
json{ "reports": { "columnHeader dimensions": "undefined", "columnHeader metricHeader metricHeaderEntries": { "name": "text", "type": "text" }, "totals": { "values": "undefined" }, "isDataGolden": "yes/no" } }
Plugin Action Calls
Real Time Data (action)
This API provides customized real-time event data for your Google Analytics property. The data shows events and usage metrics from the present moment to up to 30 minutes ago (or 60 minutes for Google Analytics 360 properties).
Name | Description | Type |
Ids | The property identifier for the events being tracked. | Text |
Metrics | The metrics you want to include in the report. | Text |
Dimensions | The dimensions (e.g., country, device) to display in the report. | Text |
Filters | Filters to apply to the data, such as specific metrics or dimensions. | Text |
Max-results | The maximum number of rows to return. Defaults to 10,000. | Text |
Sort | Defines how the rows are ordered (e.g., by metric value or dimension). | Text |
Return Values:
Return type: JSON
json{ "kind": "text", "id": "text", "query ids": "text", "query dimensions": "text", "query metrics": "undefined", "query sort": "undefined", "query filters": "text", "query max-results": "number", "totalResults": "number", "selfLink": "text", "profileInfo profileId": "text", "profileInfo accountId": "text", "profileInfo webPropertyId": "text", "profileInfo internalWebPropertyId": "text", "profileInfo profileName": "text", "profileInfo tableId": "text", "columnHeaders": { "name": "text", "columnType": "text", "dataType": "text" }, "totalsForAllResults rt:activeUsers": "text", "rows": { "rows item 1": "undefined" } }
Changelogs
Update 27.11.24 - Version 1.26.0
- Minor update(Marketing update).
Update 19.11.24 - Version 1.25.0
- Minor update(Marketing update).
Update 14.09.24 - Version 1.24.0
- Minor update (Marketing update).
Update 23.07.24 - Version 1.23.0
- Minor update.
Update 13.06.24 - Version 1.22.0
- Updated demo/service links.
Update 27.02.24 - Version 1.21.0
- Migrated actions to Google Analytics 4.
Update 19.10.23 - Version 1.20.0
- Updated description.
Update 18.09.23 - Version 1.19.0
- updated description.
Update 13.09.23 - Version 1.18.0
- minor updates.
Update 11.07.23 - Version 1.17.0
- updated description.
Update 19.06.23 - Version 1.16.0
- Updated the description .
Update 23.02.23 - Version 1.15.0
- deleted the icons.
Update 22.02.23 - Version 1.14.0
- updated the description.
Update 08.11.22 - Version 1.13.0
- Added "id" parameter for "Retrieve Reports v4".
Update 29.07.22 - Version 1.12.0
- Added support for Google analytics v4.
Update 15.07.21 - Version 1.11.0
- Updated icon.
Update 09.06.21 - Version 1.10.0
- added support for more metrics to api call "Retrieve Reports".
Update 14.02.21 - Version 1.9.0
- Minor update.
Update 22.10.20 - Version 1.8.0
- Updated credentials and API Call’s.
Update 02.03.19 - Version 1.7.0
- Minor improvements.
Update 02.03.19 - Version 1.6.0
- minor improvements.
Update 02.03.19 - Version 1.5.0
- minor improvements.
Update 13.05.18 - Version 1.4.0
- Minor improvements.
Update 10.05.18 - Version 1.3.0
- Added offline mode support and real time reports.
Update 26.02.18 - Version 1.2.0
- updated description.
Update 19.09.17 - Version 1.1.0
- Updated Description.
Update 08.09.17 - Version 1.0.0
- Initial Build.