Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以使用Google Analytics异步执行多个_addItem调用?_Javascript_Google Analytics - Fatal编程技术网

Javascript 是否可以使用Google Analytics异步执行多个_addItem调用?

Javascript 是否可以使用Google Analytics异步执行多个_addItem调用?,javascript,google-analytics,Javascript,Google Analytics,下面的代码可以工作吗 _gaq.push(['_addTrans', '7171717117', // order ID - required '', // affiliation or store name '2222', // total - required '', // tax '', // shipping '', // city '',

下面的代码可以工作吗

_gaq.push(['_addTrans',
    '7171717117', // order ID - required
    '',           // affiliation or store name
    '2222',       // total - required
    '',           // tax
    '',           // shipping
    '',           // city
    '',           // state or province
    ''            // country
]);
_gaq.push(['_trackTrans']);

_gaq.push(['_addItem',
    '7171717117',   // order ID - required
    '22j33j2kjk',   // SKU/code - required
    'Widget 1.0',   // product name
    '',             // category or variation
    '2222',         // unit price - required
    '1'             // quantity - required
]);
_gaq.push(['_trackTrans']);
从文档中:

_trackTrans()将事务和项目数据发送到Google Analytics服务器。此方法应在_trackPageview()之后调用, 并与_addItem()和addTrans()方法结合使用。信息技术 应在设置项目和事务元素后调用 起来

因此,根据文档,当您调用trackTrans()时,将发送项目。在此之前,您可以添加项目,但不会发送事务

编辑:进一步阅读让我想到:


其中明确表示您可以使用现有ID启动另一个事务。提交时,您列出的新项目将添加到该事务。

您始终可以将更多项目推送到集合中。然而,你需要在信息被送回谷歌之前把它们放在那里,否则对你没有好处。也许我的问题不清楚。我想发送交易,然后稍后添加项目。谢谢您的回复,Eran,但它仍然没有明确解决我的问题。每个_addItem都有一个orderId,对应于随事务传递的相同orderId。谷歌没有理由不能将这些项目与服务器上的事务关联起来。我问这个问题的原因是因为我不能在同一个调用中发送事务和项目(出于性能原因)。因此,我需要一个明确说明这是否可能(或不可能)的答案。我认为规范对此非常清楚。它们声明在向事务添加项目后提交事务。我同意,理论上,他们应该能够将一个项目与已提交的交易关联起来,但文档中没有提到这个选项。除了让谷歌开发者回复,最快的方法是运行一个简单的测试。提交一个带有一个项目的事务,然后添加另一个项目,并尝试重新提交该事务(我相信这就是问题所在——提交一个带有现有ID的事务)。编辑:可能是个好消息。请看这里: