關於Ruby on Rails 4.2.5 + Devise 3.4.1應用程序。當Devise重定向到請求密碼時維護UTM代碼
我們應用程序的一些營銷需要UTM代碼。有時,營銷鏈接指向需要登錄才能查看的資源。問題在於,當設計重定向到登錄屏幕時,UTM代碼將被刪除,Google Analytics會將潛在客戶視爲內部鏈接,而不是正確記錄UTM信息。
有沒有簡單的方法可以解決這個問題?如果不是,那麼需要做什麼的正確方向的指示將會很棒。
關於Ruby on Rails 4.2.5 + Devise 3.4.1應用程序。當Devise重定向到請求密碼時維護UTM代碼
我們應用程序的一些營銷需要UTM代碼。有時,營銷鏈接指向需要登錄才能查看的資源。問題在於,當設計重定向到登錄屏幕時,UTM代碼將被刪除,Google Analytics會將潛在客戶視爲內部鏈接,而不是正確記錄UTM信息。
有沒有簡單的方法可以解決這個問題?如果不是,那麼需要做什麼的正確方向的指示將會很棒。
在它的默認配置,設計不應該登錄成功後重定向時剝離出的任何參數。原始URL存儲在授權失敗時,然後存儲的URL在登錄成功後逐字地用作重定向位置。
所以:
# /path?utm_campaign=test
# => redirects to /user/login on auth challenge
# => redirects back to /path?utm_campaign=test on login
你的任何機會重寫after_sign_in_path_for
?如果是這樣,那麼值得看看original code,並確保您保留 - 這會影響上述行爲。
有一些行爲不當的代碼,果然。謝謝您的幫助。 –
一個想法是通過營銷頁面上的ajax呈現登錄表單,而不是重定向到登錄頁面,讓登錄頁面找到你。
def marketing_landing_page
unless user_signed_signed_in?
render :new
end
end
:新中色器件/會話/新
但登錄後,它是否不重定向到UTM代碼正確的鏈接頁面? –
沒有。 UTM代碼被剝離。 –
如果沒有monkeypatching devise內幕,這可能是不可能的。但絕望的時刻需要絕望的措施:)當我有一點空閒時間時,我會嘗試一些東西。 –