Is there any limit on number of properties and value length in Extended Properties of Google Data API (in particular Calendar API)?
You can add extended properties (arbitrary name-value pairs) to Calendar events. These can be used to store application-specific IDs or other small amounts of information your application needs when interacting with a Google Calendar. The name of a property can contain up to 47 characters, and the value can contain up to 1024 characters. Extended properties are only accessible through the API – they do not appear in the Calendar user interface.
Related
I have created a tag within GTM which as part of it's label returns various variables; page path, and various ID's
GT Tag Configuration
As expected, when I view the events in Google Analytics, the label is one item.
Event Action in GA
Ideally I would like them to be separate, so that reports in Analytics can be pivoted on these variables.
Is this possible?
Not as such, but you can create hit-level scoped Custom Dimensions and send them along with your event.
Custom dimensions are basically custom data fields that you can fill with arbitrary data (as long as each value is 150 byte or less). You can use them as secondary dimensions in standard reports, or in custom reports in GA (or in Google Data Studio).
Custom Dimensions will only work after you have configured them. If you need to work with existing data, you could use Google Data Studio, which directly connects to GA, and create calculated fields e.g. by splitting the value by the whitespace character and return the first (second, etc) bit. Data Studio is free, and is for the most part a much more capable reporting interface than GA itself, so it's worth a look.
No, it is not possible. You have to export data and process them for example in Excel.
Right now Google Calendar API has list API which takes calendarId and provides us with events of that calendar.
I have a scenario where I need to get events for multiple calendar Id's.
Instead of looping over multiple Id's and requesting calendar events n number of times, can I just pass multiple Id's in one request and get their events ?
Not sure if they have API support for this scenario.
No the API does not support this, each API request is paired with its unique keys that grant them access to one account, each token has the ability to only request connection from one account, so the only option is to iterate through each ID individually, this would be true for almost all API's of webservers.
The same goes for Calendar ID, in the API call, Calendar ID can only be a string and in the backend that string is matched with users Calendar Id, so any attempt to add multiple Id's will result in breaking the entire query.
events = service.events().list(calendarId='primary', pageToken=page_token).execute()
In this CalendarID has to be a string that is matched with the database.
The biggest reason for this would be that this is a very unique problem-solution and they might not have an incentive to support this feature as this does not make sense form a business perspective.
We have some exciting new features coming soon to Google Analytics for Firebase, but we’ve noticed some issues with your project’s configuration which will prevent us from making those features available to you.
Our records indicate that you have a Firebase project (****513) that will be affected.
In the past, we’ve enforced configuration limits independently on each of the apps in your Firebase project. However, going forward, these limits will be enforced on a project-wide basis. As such, we need your help in making the necessary and appropriate changes to your project’s configuration to pave the way for access to our coming upgrades.
Specifically, we need you to make the following changes by April 25, 2018:
Reduce the number of distinct registered text parameters (in name, type) defined in your project to 20.
What's the number of distinct registered text parameters? because Firebase just gives 10 text parameter quota per app!
So what I undrestand from searching that reporting is moving from app-level to project-level, as they said In the past, we’ve enforced configuration limits independently on each of the apps in your Firebase project. However, going forward, these limits will be enforced on a project-wide basis. - this means that they all share the same user properties: for example, lets say "favorite_item" is a user property on 2 apps, then it would just be a single user property at the project level.
Listed here are the configurations which will be based project-wide:
Audience: 50 *Audiences which are identical in name (case-sensitive) and definition across every app will be counted as 1.
User Property: 25 *firebase_last_notification is included. *User properties which are identical in name (case-sensitive) across every app will be counted as 1.
Custom Parameters: 10 text and 40 numeric *For reporting only. 25 custom parameters per event for logging still applies. *Projects with 20 registered parameters or fewer are going to be ‘grandfathered’, they will be allowed to keep them. However, they won't be able to register new parameters.
Conversion events: 10 *Custom events only. Pre-defined events are not included.
A response from Firebase Support to Denny Huang
Thanks for reaching out to us. We have sent that email to all customers who are exceeding
limits for future enhancements to the product.
If you got an email for exceeding custom parameters in your project, this means the project
(combined all apps) has more than 10 distinct text parameters and/or more than 40 distinct
numeric parameters. It the project exceeds 20 distinct text parameters, you must unregister
extraneous text parameters to get below 20. Otherwise, if the project already exceeds the
limit of 10 distinct text parameters, no changes are required at this time, but the limit of 10 will
be applied when you attempt to register new parameters.
I got the same message, the problem was I had too many parameter reporting.
Every event has 3 dots on the right side to "edit parameter reporting". Remove few of those to get to max 20 across all project.
In logEvent documentation google documentation you can read:
Logs an app event. The event can have up to 25 parameters. Events with the same name must have the same parameters. Up to 500 event names are supported. Using predefined FirebaseAnalytics.Event and/or FirebaseAnalytics.Param is recommended for optimal reporting.
Also you have a limit on user properties:
If your app needs to collect additional data, you can set up to 25 different Analytics User Properties in your app. Note that user property names are case-sensitive and that setting two user properties whose names differ only in case results in two distinct user properties being logged.
it seems that you are logging an event with more than 20 different texts in the event parameters in all your apps
I've gone over a ton of documentation on this topic and still aren't sure if the 25 custom params/property limit in Firebase is per app or per event name?
Say I have 50 different events with 5 unique property names each, that would be a total of 250 unique property names. Is such a thing supported or do I start with a limit of 25 across all events?
I have Firebase hooked up to Bigquery so I'm less concerned about the limitations in the Firebase reporting admin.
Thanks.
Limitations for each Firebase project:
Limit for 25 params is per logEvent call.
Limit for 500 events is per app instance.
Limit for 50 custom parameter (40 numeric and 10 texts) is the global limit in Google Analytics for Firebase dashboard.
No limit for custom parameters in Big Query.
This is as of 03/20/2018.
The limits are documented here.
Google Analytics for Firebase lets you specify up to 25 custom
parameters per event (Android or iOS).
You can also identify up to 50 of those custom event parameters per
project (40 numeric and 10 textual) to include in reporting by registering
those parameters with their corresponding events. Once you register
your custom parameters, Google Analytics for Firebase displays a
corresponding card showing the data in each related event-detail
report.
The javadoc for logEvent gets more specific:
The event can have up to 25 parameters. Events with the same name must
have the same parameters. Up to 500 event names are supported. Using
predefined FirebaseAnalytics.Event and/or FirebaseAnalytics.Param is
recommended for optimal reporting.
I have a site that associates Google Place information with users, and displays that information on a map. For instance, a user can search for a place (currently with the Places Library Autocomplete API) and bookmark this place for later retrieval.
As per the Google Maps TOS, I am only storing the Place ID and its reference in my database and am making client-side requests for the coordinate information of each place whenever I need to display them on a map.
I've recently encountered an issue where making more than 10 consecutive API requests for coordinate information (within a javascript loop) using the getDetails method on the service object returns an OVER_QUERY_LIMIT status code.
My question is this: if I am correct in assuming that storing the latitude and longitude of each place in my database violates Google's TOS, how can I programmatically retrieve the coordinate information for a number of places so that I can display these places on a map for a given user?
According to the terms - 10.1.3(b) -
(b) No Pre-Fetching, Caching, or Storage of Content. You must not pre-fetch, cache, or store any Content, except that you may store: (i) limited amounts of Content for the purpose of improving the performance of your Maps API Implementation if you do so temporarily, securely, and in a manner that does not permit use of the Content outside of the Service; and (ii) any content identifier or key that the Maps APIs Documentation specifically permits you to store. For example, you must not use the Content to create an independent database of "places" or other local listings information.
So if there are places getting queried a lot, you can temporarily store information on that place to increase performance.