2017-02-13 35 views
0

如果客戶登錄Shopify站點(而非Plus)的任何頁面,GET中的參照參數(?ref=something),該值如何結轉到結帳和訂單確認頁面,域名不同?將參數在Shopify中結賬

我的一個想法是在我們的域中設置一個cookie,然後修改單擊Checkout時導航到的URL以包含cookie的值,但我不確定這是否是最乾淨的方式,以及哪裏最好修改URL的地方就是。

我看到_ga參數似乎是自動包含在結賬URL。這對於自定義GET參數如何完成?

+0

你需要修改結賬URL。請參閱 - https://help.shopify.com/themes/customization/cart/use-permalinks-to-preload-cart – HymnZ

回答

0

一種是提交之前修改URL結帳做這個棘手的方式。

這樣做對你cart.liquid文件找到行動的形式=「/購物車」並添加屬性:

onsubmit="update_action(this)" 

而在你的主題的底部添加JavaScript代碼.liquid文件:

<script type="text/javascript"> 
function update_action(form){ 
    var new_action; 
    var some_value = "something"; 
    var form_action = form.action; 
    if((form_action.indexOf("?") >= 0)) { 
    if(form_action.indexOf("ref")>=0) { 
     new_action = form_action.replaceAt(form_action.indexOf("ref"),"ref="+some_value); 
    }else{ 
     new_action = form_action+"&ref="+some_value; 
    } 
    }else{ 
    new_action = form_action+"?ref="+some_value; 
    } 
    $(form).attr("action",new_action); 
} 
</script> 

希望這將解決您的問題。

0

請注意,Shopify會自動存儲參考和登錄頁面,也就是說,您無需執行任何操作,就可以按照客戶的訂單獲取這些值。您沒有按照此線程手動操作它們。

爲什麼你需要在結帳的值(你可以做什麼用也無妨),爲什麼在訂單確認其中再一次,也是沒有用處的客戶?

+0

如果訂單未在單個會話中完成,則Shopify無法捕獲此數據。 – HymnZ

+0

那麼,這不是移動ref結帳的問題,然後... –

+0

這是一個聯盟計劃需要。客戶以GET參數登陸網站。我們會將它存儲在一個cookie中。然後,值需要的訂單確認頁面上觸發JS要求內使用。 – djdy