Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Google Analytics maakt me gek

Pagina: 1
Acties:

  • maxis735
  • Registratie: Augustus 2010
  • Laatst online: 17-04-2015
Hoi,

Ik heb een probleem met de "enhanced e-commerce tracking" van Google analyitcs via de Google Tagmanager. Hopelijk kan iemand hier me helpen, want ik word er gek van....

Op onze site kun je een " order" plaatsen en deze daarna weer aanpassen.
Dit lijkt de enhanced e-commerce te ondersteunen, want je kunt orders maken en weer refunden. Ik krijg het alleen niet werkend :(

Hier is wat ik doe:

Eerst maak je een order, zoals in de voorbeelcode hieronder. Het komt bijna helemaal uit de voorbeelden van Google zelf.

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
<body>

<script>
var dataLayer = [];
dataLayer.push({
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',                         // Transaction ID. Required for purchases and refunds.
        'affiliation': 'Online Store',
        'revenue': '35.43',                     // Total transaction value (incl. tax and shipping)
        'tax':'4.90',
        'shipping': '5.99',
        'coupon': 'SUMMER_SALE'
      },
      'products': [{                            // List of productFieldObjects.
        'name': 'Triblend Android T-Shirt',     // Name or ID is required.
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 1,
        'coupon': ''                            // Optional fields may be omitted or set to empty string.
       },
       {
        'name': 'Donut Friday Scented T-Shirt',
        'id': '67890',
        'price': '33.75',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Black',
        'quantity': 1
       }]
    }
  }
});

</script>

<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-ID"
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','GTM-ID');</script>
<!-- End Google Tag Manager -->

</body>
</html>


Deze order wordt geregistreerd, dus daarna ga ik vol goede moed verder met een pagina die deze code bevat (en daarin zit mijn probleem denk ik):

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<html>
<body>

<script>
var dataLayer = [];

dataLayer.push({
  'ecommerce': {
    'refund': {
      'actionField': {'id': 'T12345'}         // Transaction ID. Required for purchases and refunds.
    }
  }
});


dataLayer.push({
  'ecommerce': {
    'purchase': {
      'actionField': {
        'id': 'T12345',                         // Transaction ID. Required for purchases and refunds.
        'affiliation': 'Online Store',
        'revenue': '35.43',                     // Total transaction value (incl. tax and shipping)
        'tax':'4.90',
        'shipping': '5.99',
        'coupon': 'SUMMER_SALE'
      },
      'products': [{                            // List of productFieldObjects.
        'name': 'Triblend Android T-Shirt',     // Name or ID is required.
        'id': '12345',
        'price': '15.25',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Gray',
        'quantity': 2,
        'coupon': ''                            // Optional fields may be omitted or set to empty string.
       },
       {
        'name': 'Donut Friday Scented T-Shirt',
        'id': '67890',
        'price': '33.75',
        'brand': 'Google',
        'category': 'Apparel',
        'variant': 'Black',
        'quantity': 3
       }]
    }
  }
});

</script>

<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-ID"
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','GTM-ID');</script>
<!-- End Google Tag Manager -->

</body>
</html>


In mijn gedachtengang doe ik niks geks, maar blijkbaar dus wel. De tweede pagina wordt namelijk niks van geregistreerd.
Wat doe ik verkeerd?

Grt,
Hans

[ Voor 1% gewijzigd door Creepy op 23-12-2014 10:07 . Reden: Code tags ]


  • HyperioN
  • Registratie: April 2003
  • Laatst online: 31-10 21:55
Een order of purchase moet je zien als een definitief iets.
Je kunt deze inschieten, maar daarna niet meer wijzigen. Je kunt inderdaad wel een refund doen, geheel of deels. Maar je kunt daarna niet opnieuw die order aanmaken (met eventueel een andere inhoud).

In je tweede blok code probeer je namelijk een purchase in te schieten met ID T12345. Dat kan niet, want die bestaat al want die heb je geregistreerd in je eerste blok. Dus zal Analytics deze transactie weigeren.
Omdat de refund-actie in dezelfde transactie zit, wordt waarschijnlijk de gehele transactie geweigerd door Analytics, waardoor de Refund dus ook niet zichtbaar zal zijn. (Heb ik niet getest; maar ik gok dat dit hier aan de hand is).

Wil je meer vrijheid in het registeren/aanpassen van een (niet-definitieve) bestelling, dan kun je beter gebruik maken van addToCart en removeFromCart. Zie: https://developers.google...r/enhanced-ecommerce#cart
Zodra je bestelling écht definitief geplaatst wordt (afgerekend of daadwerkelijk besteld, afhankelijk van de context), kun je deze inschieten als purchase.