我可以从服务器端调用谷歌分析吗?

时间:2013-05-26 15:47:21

标签: google-analytics

我在谷歌分析上有一个网络应用程序,例如在用户登录时对事件进行调用:

 _gaq.push(['_trackEvent', 'webapp', 'account', 'login', , false]);

我有一个与桌面应用程序相同的Web应用程序(一个在我的客户端桌面上)。如果用户从桌面应用程序登录,它会向我的Web应用程序发送请求,并使用params告诉登录。所以,假设当用户登录桌面应用程序时,它向“http://mywebapp.com/?UserID=[userid]&op=login”发送请求,webapp保存数据,我希望它能够调用google analytics with,

_gaq.push(['_trackEvent', 'desktopapp', 'account', 'login', , false]);

有可能吗?我的webapp是MVC 4 C#。

1 个答案:

答案 0 :(得分:5)

绝对是的。您的服务器只需要为Google Analytics形成正确的网址字符串,例如:

http://www.google-analytics.com/__utm.gif?utmwv=4.4sj&utmn=2013699399&utmhn=localhost&utmr=-&utmp=%2Fwebapp&utmac=XX-999999-99&utmcc=__utma%3D999.999.999.999.999.1%3B&utmvid=0x10ccd599999999&utmip=

(您需要检查并将某些请求参数更改为合理的内容 - 阅读更多参数here)。

然后从服务器代码中打开URL。在Java中,您可以这样做:

URL url = new URL(urlAsString);
URLConnection connection = url.openConnection();
connection.setUseCaches(false);

connection.addRequestProperty("User-Agent", "MyBrowser/1.0 MyEngine/1.0");
connection.addRequestProperty("Accept-Language", "en-US");

connection.getContent();

这是一个类似的问题:C#的How to trigger Google Analytics from code?

更新2014年7月18日

随着Universal Analytics的推出,现在可以更轻松地进行服务器端分析集成 - 有关详细信息,请参阅SA上的以下帖子:Is there any way to post events to Google Analytics via server-side API?