【问题标题】:Convert document.referrer as a variable in JSON将 document.referrer 转换为 JSON 中的变量
【发布时间】:2018-05-30 00:27:16
【问题描述】:

目标:是将 JSON 推送到谷歌标签管理器..

问题是:根据 Shopify 文档,“推荐人”没有可用的液体变量。

可能的解决方案:是使用Javascript创建变量

所以我做的是:

  1. 我创建了一个脚本,它将附加访问者来自的 URL 网站。

  2. 捕获附加的网站 URL 并将其转换为变量

  3. 将变量{{ ref }}放入JSON

当我检查元素时,'referrer'(JSON) 没有任何价值

请帮忙

<script type="text/javascript">
$(document).ready(function () {
    var content = document.referrer;
    $(".referrer").append(content);
});  
</script>

{% capture ref %}
<div class="referrer">Referrer: </div>
{% endcapture %}


<script type="text/javascript">  
dataLayer.push({
  ‘userEmail’ : ‘{{ customer.email }}’,
  ‘productCategory’ : ‘{{ collection.title }}’,
  ‘productName’ : ‘{{ product.title }}’,
  ‘price’ : ‘{{ sca_price | money }}’,
  ‘originalPrice’ : ‘{{ sca_price | money }}’,
  ‘cartItems’ : ‘{{ cart.item_count }}’,
  ‘currency’ : ‘{{ shop.currency }}’,
  ‘referrer’ : ‘{{ ref }}’, // not working
  ‘productRating’ : ‘’,
  ‘reviewCount’ : null,
  ‘event’ : null
});  
</script>

【问题讨论】:

    标签: javascript json shopify liquid


    【解决方案1】:

    您不需要 Shopify 变量来查找推荐人。您甚至不需要在页面变量中捕获它并使用它。刚刚更新:

    ‘referrer’ : ‘{{ ref }}’, // not working
    

    ‘referrer’ : document.referrer,
    

    编辑:

    使用下面的代码:

    <script type="text/javascript">  
        push_data = {
          'userEmail' : '{{ customer.email }}',
          'productCategory' : '{{ collection.title }}',
          'productName' : '{{ product.title }}',
          'price' : '{{ sca_price | money }}',
          'originalPrice' : '{{ sca_price | money }}',
          'cartItems' : '{{ cart.item_count }}',
          'currency' : '{{ shop.currency }}',
          'productRating' : '',
          'reviewCount' : null,
          'event' : null
        }
        push_data['referrer'] = document.referrer;
        console.log(push_data); //remove this code. This is to only check referrer is populated
        dataLayer.push(push_data);  
    </script>
    

    【讨论】:

    • 不工作,当我检查它显示 prntscr.com/joep3g 的元素时,它只是说'referrer':document.referrer,
    • 您使用的引号是错误的。使用双引号代替您现在使用的引号。 Javascript 无法识别这些引号。删除您正在使用的文档加载代码。
    • 如果这是你所说的双引号,它仍然不起作用:(prntscr.com/jofdey
    【解决方案2】:

    只需使用 JavaScript:

    "referrer": document.referrer

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    相关资源
    最近更新 更多