【问题标题】:Carry get parameter to checkout in Shopify在 Shopify 中携带获取参数到结帐
【发布时间】:2017-02-13 21:56:04
【问题描述】:

如果客户登陆 Shopify 网站的任何页面(不是 Plus),并在 GET (?ref=something) 中使用推荐参数,如何将此值转移到域所在的结帐和订单确认页面不一样?

我的一个想法是在我们的域上设置一个 cookie,然后在单击 Checkout 时修改导航到的 URL 以包含 cookie 的值,但我不确定这是否是最干净的方式,以及最佳位置在哪里修改 URL 将是。

我看到_ga 参数似乎自动包含在结帐 URL 中。如何为自定义 GET 参数做到这一点?

【问题讨论】:

标签: shopify


【解决方案1】:

通过在提交之前修改结帐 URL 来实现此目的是一种棘手的方法。

要在您的 cart.liquid 文件中执行此操作,请找到带有 action="/cart" 的表单并添加属性:

onsubmit="update_action(this)"

并在 theme.liquid 文件的底部添加 javascript 代码:

<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>

希望这能解决您的问题。

【讨论】:

  • 非常感谢!对于所有可能需要的人,此答案可用于在结帐时添加“locale=XX”参数,然后翻译结帐页面!太好了!
【解决方案2】:

请注意,参考和登录页面由 Shopify 自动存储,这意味着无需您执行任何操作,您就可以在客户下的订单中获得这些值。您没有按照此线程手动操作它们。

为什么您需要结帐时的价值(无论如何您都无法使用它)以及为什么在订单确认中再次对客户毫无用处?

【讨论】:

  • 如果订单未在单个会话中完成,Shopify 将无法捕获此数据。
  • 联盟计划需要它。客户使用 GET 参数登陆网站。我们会将其存储在 cookie 中。然后需要在订单确认页面上触发的 JS 请求中使用该值。
  • Shopify 平台规定了您可以做什么,不能做什么......您的工作已为您完成 :)
猜你喜欢
  • 2020-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 2020-02-27
  • 2019-07-13
相关资源
最近更新 更多