2009-08-26 72 views
2

我在我的網站上有一個與rails remote_form_for一起運行的聯繫表單。在有人提交表單後,該div中的html將被替換爲成功消息而不是整個頁面重新加載(這樣做的原因不太相關......但基本上這個聯繫表單是低於摺疊的,我不喜歡如果有任何錯誤/成功消息等,則不希望頁面刷新回頂端)。Javascript in a rails remote_form_for部分

我試圖跟蹤谷歌的AdWords轉換,看看有多少訪客提交聯繫表格。他們給你的JavaScript看起來像這樣:

<!-- Google Code for Contact Tutor Conversion Page --> 
<script type="text/javascript"> 
<!-- 
var google_conversion_id = SOME_NUMBER; 
var google_conversion_language = "en_US"; 
var google_conversion_format = "3"; 
var google_conversion_color = "ffffff"; 
var google_conversion_label = "SOME_LABEL"; 
//--> 
</script> 
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"> 
</script> 
<noscript> 
<div style="display:inline;"> 
<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/SOME_NUMBER/?label=SOME_LABEL&amp;guid=ON&amp;script=0"/> 
</div> 
</noscript> 

的問題是,如果我把這個部分的remote_form_for的「成功」的消息時,它不跟蹤任何轉換!

我想我的問題是,瀏覽器如何在像Ajax調用那樣執行javascript的div中的html被替換爲一些新的html?

我在javascript的第一個塊中添加了一個「alert('hey')」來測試它。它被執行。然後,我嘗試從URL http://www.googleadservices.com/pagead/conversion.js中提取JavaScript並將其直接粘貼到...它似乎現在被執行並跟蹤一些轉換 - 但似乎在報告中。我也嘗試評論所有內容,並使用圖片標籤來追蹤轉換次數。這也得到了一些,但似乎在報告中。

低報部分很難衡量,但它似乎相當重要... 50%也許?我想知道這是不同的瀏覽器如何執行JavaScript。我不會反對設置自己的轉換跟蹤,所以我可以對它更有信心...但我需要弄清楚如何檢測cookie adwords集等。

任何想法?

+0

您可以嘗試讓您的部分返回隱藏的iframe與原始內容。我並不是說這是最好的解決方案,但它可能會給你一些與漏報相比較的東西。 – 2010-12-22 04:50:57

+1

您是否驗證過您的Javascript支持IE,Firefox,Safari等?很多時候,我偶然發現一些怪癖,即使jQuery代碼會在瀏覽器之間失敗,稍作調整也會讓所有的魔法發生。祝你好運。 – MDaubs 2011-03-07 00:41:10

回答

0

如果圖像的報告速度與Javascript相同,那麼我會斷定您的代碼運行正常,但報告並非您所期望的。你用什麼指標來檢查?

請嘗試通過您網站上的網址調用圖片,該圖片重定向到Google圖片。

例如

class TrackingController < ApplicationController 
    def track 
    ConversionTracking.create!(...) 
    redirect_to "http://googleadwordsimage.png" 
    end 
end 

然後,您可以比較分析顯示的內容與內部數據庫顯示的內容。這將確定問題是否您的代碼沒有在所有瀏覽器中被調用,或者分析是否不正確。如果他們不正確,也許這是做一些設置來停止對同一用戶或什麼的雙重計數?不知道更多關於您的指標等難以知道。