2013-10-11 22 views
3

我正嘗試使用Google Analytics和內容實驗在我的網站上設置A/B測試,但我無法使其呈現無縫狀態。從技術的角度來看,如何優化他們的A/B測試?

爲了使用google API,有幾件事情需要發生。首先,我添加一個腳本標記以從Google加載cxApi,並指定一個實驗ID。加載後,Google文檔建議在「加載」事件的窗口中放置一個監聽器,然後您應該向Google詢問您希望顯示的內容的變體並給它一個回調。一旦它選擇了一個變體,你就可以使用javascript來顯示/隱藏相關內容。

雖然問題是我在頁面加載時獲得內容Flash;如果我是A/B測試H2的例子,我不想先看到原來的,然後迅速看到它被替換。有沒有人有任何提示?

到目前爲止,我所提出的最佳解決方案是添加一個樣式標籤來隱藏相關內容(例如,通過將文本顏色設置爲透明,以便內容仍佔用相同數量的空間屏幕,並不會導致迴流),但我是一個更好的解決方案後,會有興趣,如果有人可能有任何洞察到如何優化這樣做?

乾杯

+0

這個答案有一個很好的起點(和其技術): http:// stackoverflow。com/questions/5224756/how-do-optimizely-visual-website-optimizer-handle-visual-dom-editing – WellWell

回答

2

Optimizely從使用jQuery來改變你的頁面上的元素一個CDN服務的靜態腳本。

Optimizely解決方案與Google內容實驗的不同之處在於,Optimizely指導用戶在synchronous manner中設置片段,而通常Google Analytics JS是異步加載的。這意味着Optimizely腳本將在頁面呈現前下載並執行,特別是如果他們建議您將片段置於<head>的高位。如果您遵循典型的Google Analytics setup,則GA腳本將異步加載,並在加載頁面的其餘部分後加載。

Optmizely的文件進一步解釋道:

我們之所以鼓勵這種特定的位置是因爲Optimizely的工作原理是在更改網頁的加載。如果代碼片段被添加到塊的頂部,那麼該腳本可用於加載頁面所需的時間,並且可以實時進行更改。

如果該代碼段被添加到頁面的任何其他地方,它仍然可以工作。問題是,如果頁面已經加載了很多用戶在執行Optimizely腳本之前看到的內容,那麼您可能會遇到這樣一種情況,即原始版本的頁面加載並由腳本轉換爲預期的變體。在大多數情況下,代碼執行得太快以至於無法看到,但爲了避免任何潛在的問題,我們鼓勵您儘早將代碼片段添加到執行路徑中。

來自:https://help.optimizely.com/hc/en-us/articles/200040285

+0

對不起,但這個答案很模糊;我正在尋找關於DOM和DOMReady的更多技術答案。我已經嘗試將我的腳本放在標記中,並且仍然獲取內容Flash,但他們似乎沒有解決方案。 –

+0

@DominicSantos從他們的文檔中添加了另一個引文。如果您遵循他們的示例,則Optimizely腳本會同步加載並阻止DOM解析和呈現,因此應該沒有內容的閃光。你可以發佈一些HTML嗎? – phillbaker