将 document.referrer 转换为 JSON 中的变量

Convert document.referrer as a variable in JSON

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

问题是:根据 Shopify 文档,'referrer' 没有可用的液体变量。

可能的解决方案: 是使用 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>

您不需要 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>

只需使用JavaScript:

"referrer": document.referrer