Google Places API doesn't show all locations in custom app - google-maps-api-3

From research I've learnt that Google Maps and Google Places are not the same thing, but can someone confirm this deduction: does that cause the app to not show all the locations that are shown in Google Maps (let's assume because the business owner didn't list it in Google Places)?

You shouldn't expect the Maps API Web Services and the Google Maps website to work in the exact same way at all times. The Google Maps website gathers data from many different sources. Also, the search stack is different. Due to this, you may find differences between the results of these two services, and you should not use Google Maps website results blind eyed as a control group for your Web Services requests. You can find confirmation that Web Services and maps.google.com can show different results in the Google Maps API FAQ at https://developers.google.com/maps/faq#geocoder_differences.

Related

What is the best practice for setting up new Web+App Google Analytics?

I have two properties I would like to track via Google Analytics:
1. A cross-platform web-app - I currently have this connected to Google Analytics new App+Web implementation.
2. A marketing website that drives leads to the web-app - I currently have this connected to a separate property with the traditional Google Analytics implementation.
My question is, is it best practice to connect my marketing website to the same App+Web property as my web-app via a new data stream? or should I keep them separate?
It is my understanding that the App+Web is meant to connect all your platforms in one property, I'm just not clear if this should include a marketing website or not.
I would like to be able to track events between the marketing site and the web app, which is why I'm considering have them both under one property.
Thanks!
-Zach
I think you can do this as it will be more convenient for you, you can track it in two different streams. I think it will be more purely about data.
In Google Data Studio reports, you can always combine all the data and conversions that you set up into a single live report. I think this help might help.
I always use different Google Analytics streams for apps and different sites, so it's easier for me to track, and in Google Data Studio I collect all the data from Analytics, call tracking, and user session recording tools in one unit for comprehensive data analysis

How do i tell Openrefine to fetch some data trough the google and facebook API (Grel)

I have a list of around 500 foundations and companies and i need to fetch more data like address, description, lat long, email or phone number, from the google and FB APIs I have found something more or less like this, but it won't work in OpenRefine, i need some help please.
I think it is possible to do beacause there is an addon called spotlight for spreadsheets that is able to fetch Google URLs and Lat Long https://www.youtube.com/watch?v=Vj1v3QfyrgA&feature=youtu.be
https://maps.googleapis.com/maps/api/place/findplacefromtext/output?parameters/json?input=value&inputtype=textquery&fields=photos,formatted_address,name,rating,email,geometry&key=YOURKEY
I have created the FB and Google places and google staic map API already. I have tried different queries, but it won't work unless it is in GREL
value.parseJson().geonames[0].lng
value.parseJson().geonames[0].geonameId
value.parseJson().geonames[0].lat
From the error "This API project is not authorized to use this API" the first thing to check is that you have enabled the Places and/or Geocoding API in the Google Developer console, and you have setup an API Key and that it is showing as a credential for the Places API and/or the Geocoding API
Next step, take OpenRefine out of the equation and check you can get a simple API call working in your browser - using one of the Google Places API examples:
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Museum%20of%20Contemporary%20Art%20Australia&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&key=<INSERT YOUR API KEY HERE>
If that gives you the same error, you know the issue is not with OpenRefine.
If you are still having problems in OpenRefine make sure you are creating URLs in OpenRefine that are valid for the appropriate Google API based on the documentation for that API and that you are using the correct API key.

Google Maps API quality lower than Google Maps Consumer quality

We are using the Google Maps API on our web application. The map quality that is returned via the API is different than the quality of the map that is returned when using the standard Google Maps application. Is there a setting that needs to be configured as part of the API to ensure the same quality of map is returned?
This is an example of what I am referring to. https://www.google.com/maps/#-26.2514667,28.1114895,37m/data=!3m1!1e3
Good Quality
This is great quality, but the same location opened via the API has very low quality maps.
Poor Quality
Thank you for the responses. I have received some feedback (below) from Google's tech support. Will have to accept this for now.
"Hi George,
Thank you for contacting Google Maps Platform technical support. My name is 'redacted' and I'll be helping you today with your issue.
Please note that maps.google.com and Google Maps API are two different products. The imagery used in Static Maps, JS API and the mobile APIs may differ from each other, as well as Google Maps. Google Maps is specialized to use 3D imagery and 2D where not available, as it is optimized using WebGL. The Javascript API uses only 2D imagery.
With that said, to answer your question, there is no setting to ensure that same quality of map is returned. We do continuously update our global imagery.
"

Can I Get Individual Session Data from Google Universal Analytics?

I'm trying to add recommender systems to an existing website. In particular, I'd like to implement item-item collaborative filtering, to figure out what pages users tend to visit in the same session--much like Amazon's "People who viewed this item also viewed...."
At a minimum, collaborative filtering requires data on each individual viewing session, so that the algorithm can determine which pages get viewed together, rather than just tallying up how many times each page gets viewed in the aggregate.
If I were creating a new website, I could pretty easily add code to collect this data. However, this is an existing website, and has been set up to use Google Universal Analytics.
I have two questions:
Can I get Universal Analytics Data through an API? I need to be able to analyze the data using my own algorithms, not just look at it in a dashboard. I know about the Core Reporting API--but the Core Reporting API doesn't seem to include any extra Universal Analytics variables. I know about the API for sending Universal Analytics data, but that's not what I'm trying to do here.
Assuming I can query an API or otherwise export the Universal Analytics data, will I be able to distinguish individual sessions? The idea here is not to ask questions about individual users (let alone associate their data with some other data), but simply to figure out which pages were viewed in the same sessions.
Thanks for your help.
You can use the Google Analytics Core Reporting API many combinations of the available Dimensions and Metrics. You should check out the Common Queries page to get a sense of how precise you can get in terms of how people might use your application.
Also the Hello Analytics APIs Quickstart guide is a good place to start if you haven't developed an application with Google APIs.

System design - Google Analytics

I'm working on the architecture for a project that includes a Android and iOS apps and a web interface with a subset of the mobile apps functionalities. The project is basically a e-commerce solution. In all three interfaces I'm using Google Analytics to track some information. However I'm having an internal discussion about the extent of the information I should send to GA. What should I store in GA and what should I store in my own server?
Let me give you some examples.
Session tracking is clearly something that belong to GA.
ProductDetailViews. Sounds like something that should go into GA, specially considering the enhanced e-commerce module.
Shared item. When a user shares some content over a social network, should I store that information on GA or in my own server? I'm inclined to GA but it becomes more ambiguos.
Do you see my point? Can someone share a general rule or recommendation on what should be saved in GA and what should be saved on the projects own server?
Thanks
For those examples I would generally send all the hits to Google Analytics. Here are a few reasons:
Preventing data silos. You want all of your data in one place and Google provides you with a database reachable via the API where you can keep all your data organised in one place. This is important when you are considering measuring performance, as you want to avoid duplication of conversions or traffic hits
Useage of Google Analytics advanced segments. With all your data in GA, you will be able to create advanced segments for analysis. But the real power is if you are using AdWords or retargeting, as you can send those Advanced Segments to AdWords, and target those users around the web with your custom data
Single point of reference for users All analytics are inaccurate, but you want to make sure they are inaccurate to the same degree. Using GA keeps all your data on the same playing field
Usability and Freedom of information Its easier to serve up your data to users within the GA interface as people are more likely to know how to navigate that than your database. You can also use the GA API to pull out any data you need to push into other visualisation tools.
User session merging With your data and userID tracking in GA, you may be able to track users as they arrive via mobile to desktop and back again, over multiple sessions.
What you need to avoid putting in to Google Analytics is personal info such as names, email address etc. There are against the TOS. But you can capture a unique userID, and match that outside of the tool later.

Resources