小编ell*_*ott的帖子

通过标签管理器跟踪谷歌分析电子商务中的折扣值

我们正在按照以下文档使用 GTM 实施 GA 转换跟踪,但我没有找到有关如何在订单级别处理折扣(优惠券)的任何信息。 https://support.google.com/tagmanager/answer/6106097?hl=en https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce

我可以发送收入、运费和税金,但对于包含折扣的订单,这些金额的总和不正确。如果下单如下:

T-Shirt:     $5
Socks:       $5
subtotal:   $10
tax:         $2
shipping:    $3
discount:   -$5
order total: $10
Run Code Online (Sandbox Code Playgroud)

我的数据层应该像这样吗?

<script>
dataLayer = [{
    'transactionId': '1234',
    'transactionAffiliation': 'Acme Clothing',
    'transactionTotal': 10,
    'transactionTax': 2,
    'transactionShipping': 3,
    'transactionProducts': [{
        'sku': 'DD44',
        'name': 'T-Shirt',
        'category': 'Apparel',
        'price': 5,
        'quantity': 1
    },{
        'sku': 'AA1243544',
        'name': 'Socks',
        'category': 'Apparel',
        'price': 5,
        'quantity': 1
    }]
}];
</script>
Run Code Online (Sandbox Code Playgroud)

这会导致 GA 中的任何不准确或不一致吗?

google-analytics google-tag-manager

5
推荐指数
2
解决办法
6996
查看次数

如何在 sapper 的 svelte 组件中运行服务器发送的事件

我有一个名为 [symbol].svelte 的 svelte 组件,我想在其中启动与流服务的连接以接收服务器发送的事件。我还没有找到成功做到这一点的方法。

由于 EventSource 仅在浏览器中运行,因此我在onMount函数中对其进行了初始化,如下所示:

<script>
    export let quote;

    let sse = {};

    onMount(async () => {
        sse = new EventSource(`https://myurl.com?symbol=${quote.symbol}`);
        sse.onmessage = (event) => {
            let response = JSON.parse(event.data);
            if(!response.length) return;
            quote = response[0];
        }
    });

    onDestroy(() => {
        if(sse.readyState && sse.readyState === 1) {
            sse.close();
        }
    })  
</script>

<div>{quote.symbol}</div>
Run Code Online (Sandbox Code Playgroud)

这工作正常,除非我导航到使用相同组件的另一条路由 - 因为该组件不会卸载和重新安装,onMount()不会触发,因此不会实例化新的 SSE 请求。我不知道有什么方法可以轻松地强制组件重新安装,这将是最简单的(相关的github问题在这里

另一种尝试是使用反应式语句,如下所示:

<script>
    export let quote;

    let sse = {};

    $: {
        if(process.browser === true) { …
Run Code Online (Sandbox Code Playgroud)

javascript server-sent-events svelte sapper svelte-3

3
推荐指数
1
解决办法
1764
查看次数