我的應用程序從我的網站讀取(html)文件,並且我想使用Google Analytics跟蹤對該文件的訪問。由於GA Javascript在閱讀文件時沒有執行,因此未對其進行跟蹤。有沒有辦法從代碼中直接觸發GA,或者是從.NET應用程序執行Javascript而不添加大量依賴項?如何從代碼觸發Google Analytics(分析)?
回答
谷歌Analytics(分析)的工作原理是通過javascript將網絡請求發送回Google的服務器。如果您想以編程方式執行此操作,則必須自己完成此Web請求。當您在瀏覽器中加載頁面時,我會使用Fiddler或FireBug來捕獲請求的樣子。然後,您可以在.Net應用程序中使用相同的URL。
Google Analytics提供了兩種方式來跟蹤自定義操作,事件或任何您處理的內容。在你的情況,平凡解是生成的HTML虛擬網頁瀏覽提交申請在讀取調用相應JavaScript function:
pageTracker._trackPageview("/Foo.html");
這每Foo.html處理時間的方式,瀏覽量會爲它生成,就像它對應用程序的正常查詢一樣。
如果您想將這些Foo.html與普通的綜合瀏覽量區分開來,GA有一個很好的功能Event Tracking,那麼您應該查看一下。
我最終使用WebBrowser組件來加載.html文件,從而觸發GA跟蹤器。 WebBrowser組件執行嵌入式JavaScript。
using (WebBrowser wb = new WebBrowser())
{
wb.Url = new Uri(@"mytrackingpage.html");
while (wb.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
}
現在我需要做的就是添加一些ErrorHandling中,擺脫難看的DoEvents和移動web瀏覽器到一個單獨的線程。
我最近發佈了一個.net庫,允許您使用Google Analytics通過代碼本地記錄頁面視圖。它在GNU下作爲開源發佈,因此所需要的只是正確的歸因。
你可以在這裏的庫:該API的http://www.diaryofaninja.com/projects/details/ga-dot-net
用法示例:
GooglePageView pageView = new GooglePageView("My page title",
"www.mydomain.com",
"/my-page-url.html");
TrackingRequest request = new RequestFactory().BuildRequest(pageView);
GoogleTracking.FireTrackingEvent(request);
還有一個內置的HTTP處理程序,可以讓你火簡單的包含跟蹤像素跟蹤事件在頁面上:
<img src="/tracker.asmx?domain=mydomain.com&pagetitle=My%20Page%20Title&url=/my-page.aspx" />
或者您可以使用jQuery來跟蹤使用谷歌分析(ZIP,JPG等),在頁面內的鏈接 - b記錄一下前一段時間在這裏:
private void analyticsmethod4(string trackingId, string pagename)
{
Random rnd = new Random();
long timestampFirstRun, timestampLastRun, timestampCurrentRun, numberOfRuns;
// Get the first run time
timestampFirstRun = DateTime.Now.Ticks;
timestampLastRun = DateTime.Now.Ticks-5;
timestampCurrentRun = 45;
numberOfRuns = 2;
// Some values we need
string domainHash = "123456789"; // This can be calcualted for your domain online
int uniqueVisitorId = rnd.Next(100000000, 999999999); // Random
string source = "Shop";
string medium = "medium123";
string sessionNumber = "1";
string campaignNumber = "1";
string culture = Thread.CurrentThread.CurrentCulture.Name;
string screenRes = Screen.PrimaryScreen.Bounds.Width + "x" + Screen.PrimaryScreen.Bounds.Height;
string statsRequest = "http://www.google-analytics.com/__utm.gif" +
"?utmwv=4.6.5" +
"&utmn=" + rnd.Next(100000000, 999999999) +
// "&utmhn=hostname.mydomain.com" +
"&utmcs=-" +
"&utmsr=" + screenRes +
"&utmsc=-" +
"&utmul=" + culture +
"&utmje=-" +
"&utmfl=-" +
"&utmdt=" + pagename +
"&utmhid=1943799692" +
"&utmr=0" +
"&utmp=" + pagename +
"&utmac=" +trackingId+ // Account number
"&utmcc=" +
"__utma%3D" + domainHash + "." + uniqueVisitorId + "." + timestampFirstRun + "." + timestampLastRun + "." + timestampCurrentRun + "." + numberOfRuns +
"%3B%2B__utmz%3D" + domainHash + "." + timestampCurrentRun + "." + sessionNumber + "." + campaignNumber + ".utmcsr%3D" + source + "%7Cutmccn%3D(" + medium + ")%7Cutmcmd%3D" + medium + "%7Cutmcct%3D%2Fd31AaOM%3B";
using (var client = new WebClient())
{
client.DownloadData(statsRequest);
//Stream data = client.OpenRead(statsRequest);
//StreamReader reader = new StreamReader(data);
//string s = reader.ReadToEnd();
}
}
請參閱本 - http://tilr.blogspot.com/2012/10/google-analytics-use-google-analytics.html
谷歌有庫(阿爾法)幾種不同的語言來訪問各種谷歌的API,包括分析 - 有這裏有一個很好的描述 - https://developers.google.com/analytics/devguides/collection/和。NET庫https://developers.google.com/api-client-library/dotnet/apis/analytics/v3
在心裏也讓你要堅持使用這個時候他們的隱私政策:https://developers.google.com/analytics/devguides/collection/protocol/policy
- 1. Google Analytics(分析)代碼沒有觸發
- 2. 通用分析代碼Google Analytics(分析)
- 3. Google Analytics(分析)跟蹤代碼縮小
- 4. Magento Google Analytics(分析)代碼未顯示
- 5. 缺少Google Analytics(分析)跟蹤代碼
- 6. Google Analytics(分析)正則代碼
- 7. 如何從Python觸發Google Analytics事件?
- 8. Google Analytics(分析)代碼觸發兩個綜合瀏覽量請求的網頁
- 9. 更新帶分析寶石的Google Analytics(分析)跟蹤代碼
- 10. 如何更改DotNetNuke生成的Google Analytics(分析)跟蹤代碼?
- 11. 如何將Google Analytics(分析)代碼添加到Drupal 7
- 12. 如何使用php動態添加Google Analytics分析代碼?
- 13. 從OAUTH登錄自動檢索Google Analytics(分析)跟蹤代碼
- 14. 如何爲Google Analytics(分析)JS代碼等用戶創建外部JavaScript代碼?
- 15. Facebook Google Analytics(分析)
- 16. trigger.io - Google Analytics(分析)
- 17. Google Analytics(分析)V3
- 18. 在表單提交上觸發Google Analytics(分析)事件
- 19. 默認情況下,Google Analytics(分析)會觸發AJAX?
- 20. Google Analytics(分析)非互動trackEvent未觸發
- 21. Google Analytics(分析)中的QR碼跟蹤
- 22. Google Analytics(分析)Unity不發送點擊
- 23. Google Analytics網頁分析如何運作?
- 24. AMP項目 - Google Analytics(分析) - 內容分組放大分析代碼
- 25. 觸發器無法用於Google Analytics的gs代碼
- 26. 從PHP中讀取Google Analytics(分析)Cookie
- 27. 強制Google Analytics(分析)跟蹤代碼進入睡眠狀態
- 28. 動態提供Google Analytics(分析)代碼與PHP
- 29. 我的Google Analytics(分析)跟蹤代碼在哪裏
- 30. Google Analytics(分析)事件跟蹤代碼無法正常工作
感謝大衛。查看網址和Urchin JavaScript代碼,似乎並不那麼簡單。網址中有很多'魔術'數字,我無法解釋,以及請求之間的變化。不過,我會嘗試添加到我的應用程序,看看會發生什麼。 – Han 2009-04-29 21:51:50
GA爲此提供了一個公共API,您實際上不必追蹤請求。 – 2009-04-30 09:55:25
它必須具有這些神奇的數字,否則任何人都可以更改/影響其他人網站的訪問者統計信息(以及其他內容)。 :) – IsmailS 2010-07-05 12:34:21