跟踪客户在Magento中将产品添加到购物车的位置

时间:2015-11-05 10:54:47

标签: php magento utm

我遇到了Magento的问题,我有几个CMS块,可以将产品添加到购物车,其中一些是促销页面,其他就像一个产品构建页面,添加了几个产品(这是产生其他产品的组件之王)购物车,我想知道客户是否正在使用这个页面,是否可以添加一个类似的“utm”,在我的后端显示“此用户使用此页面/ utm广告系列/无论如何“?

必须要对会话做点什么,对吧?但除此之外,我很无能为力。

1 个答案:

答案 0 :(得分:1)

您可能希望查看Google的Tagmanager for Analytics和DataLayers。虽然您可以自己实现,但可以使用各种扩展。即look at this

使用数据层,您可以跟踪所有页面上的每个用户,输出您想要的数据。 包裹你的头脑有点复杂,但它绝对是跟踪和记录客户行为的最佳方式。

我现在通过在头部调用自定义.phtml文件来实现此目的,并使用PHP定义每页的标记,如下所示:

<!-- Start GTM phtml -->

<?php if(Mage::getURL('checkout/onepage/success') == Mage::helper('core/url')->getCurrentUrl()) { ?>
<!-- GTM: Succes -->
<script>
    dataLayer.push({
        'ecommerce': {
            'purchase': {
                'actionField': {
                    'id': 'T12345',
                    'affiliation': 'xxx',
                    'revenue': 'xxx',
                    'tax': 'xxx',
                    'shipping': 'xxx'
                },
            'products': [{
                'name':'productname',
                'id':'123',
                'price':'25.95',
                'brand':'brandname',
                'category':'clothing',
                'quantity':'1'
                },
                {
                'name':'productname',
                'id':'345',
                'price':'10.95',
                'brand':'brandname',
                'category':'apparel',
                'quantity':'2'
                }]
            }
        }
    });
</script>
<?php } ?>

<?php if(Mage::getURL('checkout/cart') == Mage::helper('core/url')->getCurrentUrl()) { ?>
<!-- GTM: Cart -->
<?php } ?>

<?php if (strpos(Mage::helper('core/url')->getCurrentUrl(),'men') != false ) : ?>
<!-- GTM: Men -->
<?php endif; ?>

<?php if($this->getRequest()->getControllerName()=='product') ://do something ?>
<!-- GTM: All Products  -->
<script>
    dataLayer.push({
        'event':'addToCart',
        'ecommerce': {
            'currencyCode':'EUR',
            'add':{
                'products':[{
                    'name': 'Productname',
                    'id': '1234',
                    'price':'15.00'
                    'brand':'brandname'
                    'quantity':1
                }]
            }
        }
    });
</script>
<?php endif; ?>

<?php if (strpos(Mage::helper('core/url')->getCurrentUrl(),'woman/running') != false ) : ?>
<!-- GTM: Woman Running -->
<script>
    dataLayer.push({
        'ecommerce': {
            'purchase': {
                'actionField': {
                    'id': 'T12345',
                    'affiliation': 'BK',
                    'revenue': 'BK',
                    'tax': 'BK',
                    'shipping': 'BK'
                },
            'products': [{
                    'name': 'Productname',
                    'id': '1234',
                    'price':'15.00'
                    'brand':'brandname'
                    'quantity':1
                },
                {
                    'name': 'Productname',
                    'id': '1234',
                    'price':'15.00'
                    'brand':'brandname'
                    'quantity':1
                }]
            }
        }
    });
</script>
<?php endif; ?>

<!-- Google Tag Manager -->
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=XXX-XXXXXX"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','XXX-XXXXXX');</script>
<!-- End Google Tag Manager -->

如您所见,我使用不同的检查来触发特定页面上的图层。这些可以是确切的网址,也可以是包含关键字的网址(例如&#39; man&#39;)。 我们的想法是用Magento的动态信息替换所有变量(echo $_product->getName();such

当然,一个好的开始是Google Docs itself

相关问题