Drupal Commerce AdWords-module: verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 17: Regel 17:
 
|[[file:20151009-02.png|thumb]]
 
|[[file:20151009-02.png|thumb]]
 
|}
 
|}
 
== Casus maart 2015: Conversies worden niet geregistreerd ==
 
 
[[file:20150325-1246.png|thumb|''Tag Assistant'' toegepast op de 'vergelijkingssite' waar conversion-tracking 't prima doet]]
 
[[file:20150325-1247.png|thumb|''Tag Assistant'' toegepast op de site waar het probleem is: Twee tags, en beide niet optimaal]]
 
[[file:20150325-1248.png|thumb|''Tag Assistant:'' De problemen in detail]]
 
 
=== Status ===
 
 
Dit probleem is niet opgelost ivm. tijdsgebrek (zomer 2015).
 
 
=== Probleem ===
 
 
* De AdWords-conversion tracking code lijkt correct in de broncode van de dank-je-wel-pagina te staan
 
* AdWords zegt dat er al 30 dagen geen conversie is geregistreerd, en Analytics zegt iets vergelijkbaars. Laatst geregistreerde conversie: 9 maanden geleden
 
 
=== Aanvullende gegevens - Conversion-tags ===
 
 
Tracking gaat middels een maatwerk-ontwikkelde ''uc_adwords''-module, die elders zijn nut heeft bewezen.
 
 
Conversie-code van de dank-je-wel-pagina van de site:
 
 
<pre>
 
<!-- Google Code for Order Complete scherm Conversion Page -->
 
<script type="text/javascript">
 
/* <![CDATA[ */
 
    var google_conversion_id = 971712345;
 
    var google_conversion_language = "en";
 
    var google_conversion_format = "3";
 
    var google_conversion_color = "ffffff";
 
    var google_conversion_label = "U4UxCL--8gcQ8Z12345";
 
    var google_conversion_value = "20.53";
 
    var google_remarketing_only = "";
 
/* ]]> */
 
</script>
 
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
 
</script>
 
<noscript>
 
<div style="display:inline;">
 
<img height="1" width="1" border="0" src="https://www.googleadservices.com/pagead/conversion/971712345?value=20.53&amp;label=U4UxCL--8gcQ8ZCuzwM&amp;guid=ON&amp;script=0" alt=""/>
 
</div>
 
</noscript>
 
</pre>
 
 
Conversie-code uit AdWords:
 
 
<pre>
 
<!-- Google Code for Dankjewelpagina Conversion Page -->
 
<script type="text/javascript">
 
/* <![CDATA[ */
 
  var google_conversion_id = 971712345;
 
  var google_conversion_language = "en";
 
  var google_conversion_format = "3";
 
  var google_conversion_color = "ffffff";
 
  var google_conversion_label = "U4UxCL--8gcQ8Z12345";
 
  var google_conversion_value = 60.00;
 
  var google_conversion_currency = "EUR";
 
  var google_remarketing_only = false;
 
/* ]]> */
 
</script>
 
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
 
</script>
 
<noscript>
 
<div style="display:inline;">
 
<img height="1" width="1" style="border-style:none;" alt="" src="//www.googleadservices.com/pagead/conversion/971712345/?value=60.00&amp;currency_code=EUR&amp;label=U4UxCL--8gcQ8ZCuzwM&amp;guid=ON&amp;script=0"/>
 
</div>
 
</noscript>
 
</pre>
 
 
Ter vergelijking: Conversie-code op een vergelijkbare site waar dit prima werkt:
 
 
<pre>
 
<!-- Google Code for Order Complete scherm Conversion Page -->
 
<script type="text/javascript">
 
/* <![CDATA[ */
 
    var google_conversion_id = 1031212345;
 
    var google_conversion_language = "en";
 
    var google_conversion_format = "3";
 
    var google_conversion_color = "ffffff";
 
    var google_conversion_label = "dK3lCP6giAgQ6u12345";
 
    var google_conversion_value = "2.00";
 
    var google_remarketing_only = "";
 
/* ]]> */
 
</script>
 
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
 
</script>
 
<noscript>
 
<div style="display:inline;">
 
<img height="1" width="1" border="0" src="https://www.googleadservices.com/pagead/conversion/1031212345?value=2.00&amp;label=dK3lCP6giAgQ6ube6wM&amp;guid=ON&amp;script=0" alt=""/>
 
</div>
 
</noscript>
 
</pre>
 
 
Verbeterde tags na evaluatie door ''Tag Assistant'', voorzien van valuta:
 
 
<pre>
 
<!-- Google Code for Order Complete scherm Conversion Page -->
 
<script type="text/javascript">
 
/* <![CDATA[ */
 
    var google_conversion_id = 9717123345;
 
    var google_conversion_language = "en";
 
    var google_conversion_format = "3";
 
    var google_conversion_color = "ffffff";
 
    var google_conversion_label = "U4UxCL--8gcQ8Z12345";
 
    var google_conversion_value = "15.10";
 
    var google_conversion_currency = "EUR";
 
    var google_remarketing_only = "";
 
/* ]]> */
 
</script>
 
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
 
</script>
 
<noscript>
 
<div style="display:inline;">
 
<img height="1" width="1" border="0" src="https://www.googleadservices.com/pagead/conversion/971712345?value=15.10&currency_code=EUR&amp;label=U4UxCL--8gcQ8ZCuzwM&amp;guid=ON&amp;script=0" alt=""/>
 
</div>
 
</noscript>
 
</pre>
 
 
=== Aanvullende gegevens - Conversion-tags - Currency ===
 
 
Ik geloof dat het vermelden van ''currency'' niet kritiek is [https://www.en.adwords-community.com/t5/Tracking-Reporting/Adwords-conversion-amp-Remarketing-errors/td-p/426687]
 
 
=== Mogelijke oorzaken ===
 
 
* Caching
 
* Fouten in de conversion-tag
 
* Iets verslikt zich ergens in. Verwijderen en opnieuw inrichten
 
* Er gaat iets met met 'state' van de site: Inloggegevens worden ook niet altijd goed onthouden.
 
 
=== Vraagstukken ===
 
 
* Kan ik meerdere conversies op één pagina onderbrengen? Da's handig voor testen
 
* Zijn AdWords-conversi-codes gelinkt aan bepaalde pagina's?
 
  
 
== Casus zomer 2015: Werking verifiëren ==
 
== Casus zomer 2015: Werking verifiëren ==

Versie van 9 okt 2015 21:02

In 2013/2014 heeft Elibert van Doornen van 1Hoog Webdevelopment een custom-module ontwikkeld voor dynamische conversion-tracking voor Übercart 2/Drupal 6. Dit is geen 'complete' module en bevat zelfs geen grafische interface, maar hij doet precies waar-ie voor bedoeld is.

De module is vrijgegeven onder de GPL V2.

Hoe het werkt

De module declareert twee functies die dankzij de juiste hooks rondom de dankjewel-pagina hun ding doen. Je hoeft dus geen code in te voegen in blocks of pagina's.

In de code kun parameter PRODUCTS_ONLY gebruiken om te bepalen dat het orderbedrag in- of exclusief vervoerskosten overgenomen moet worden.

Welk bedrag precies?

Orderbedrag minus vrachtkosten minus BTW:

20151009-01.png
20151009-02.png

Casus zomer 2015: Werking verifiëren

Probleem

Een site zegt dat er al 478 geen conversies zijn geweest. Dat klopt niet.

Appendix: Broncode

uc_adwords.info

name = uc_adwords
description = Implements dynamic conversion tracking for adwords in ubercart
version = 6.x-0.1
core = 6.x
package = Custom
files[] = uc_adwords.module

uc_adwords.install

Er is geen installatie-procedure:

<?php

uc_adwords.module - 2015

Wijzigingen:

  • Google Tag Assistant suggereerde dat geldbedragen numerieke waardes dienen te zijn, en geen strings
<?php

define('PRODUCTS_ONLY', FALSE); // If set to TRUE google_conversion_value will be products only (without shipping costs)

function uc_adwords_footer () {
  // Check to see if we are at the order completion page.
  if (arg(0) == 'cart' && arg(1) == 'checkout' && arg(2) == 'complete') {
    // If we can load the order...
    if ($order = uc_order_load($_SESSION['uc_adwords_order_id'])) {
      $output = add_adwords_js($order);
    }
    // Clean out the session variable.
    unset($_SESSION['uc_adwords_order_id']);
  }
  return $output;
}

/**
 * Implementation of hook_order().
 */
function uc_adwords_order($op, &$arg1, $arg2) {
  switch ($op) {
    case 'new':
      // Store the order ID for later use.
      $_SESSION['uc_adwords_order_id'] = $arg1->order_id;
      break;
  }
}

function add_adwords_js ($order) {
	//global $_google_adwords_footer_script;

	$script = '';

	// google adwords paramters
	$google_conversion_id = 986212345;
	$google_conversion_language = "en";
	$google_conversion_format = "2";
	$google_conversion_color = "ffffff";
	$google_conversion_label = "FM3zCM-12345qc2m1gM";
	$google_remarketing_only = false;

	// conversion value
	// ================
	//
	// Value PRODUCTS_ONLY (boolean)
	//
	// true : Only value of products incorporated, ex. transportation cost
	// false: Complete order amount incorporated
	//
	$PRODUCTS_ONLY = True;

	if (PRODUCTS_ONLY)
		$google_conversion_value = uc_order_get_total($order, TRUE);
	else {
		$google_conversion_value = $order->order_total;
	}
	$google_conversion_value = uc_currency_format($google_conversion_value, FALSE, TRUE, '.');

	// google adwords script
  $script = '';    
  $script .= "\n" . '<!-- Google Code for Order Complete scherm Conversion Page -->' . "\n";
  $script .= '<script type="text/javascript">' . "\n";
  //$script .= '<!--' . "\n";
  $script .= ' /* <![CDATA[ */' . "\n";
  $script .= '    var google_conversion_id = '. $google_conversion_id .';' . "\n";
  $script .= '    var google_conversion_language = "'. $google_conversion_language .'";' . "\n";
  $script .= '    var google_conversion_format = "'. $google_conversion_format .'";' . "\n";
  $script .= '    var google_conversion_color = "'. $google_conversion_color .'";' . "\n";
  $script .= '    var google_conversion_label = "'. $google_conversion_label .'";' . "\n";
  $script .= '    var google_conversion_value = '. $google_conversion_value .';' . "\n";
  $script .= '    var google_remarketing_only = "'. $google_remarketing_only .'";' . "\n";
  $script .= ' /* ]]> */ ' . "\n";
  $script .= '</script>' . "\n";
  $script .= '<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">' . "\n";
  $script .= '</script>' . "\n";
  $script .= '<noscript>' . "\n";
  $script .= '<div style="display:inline;">' . "\n";
  $script .= '<img height="1" width="1" border="0" src="https://www.googleadservices.com/pagead/conversion/' . $google_conversion_id . '?value='. $google_conversion_value .'&label='. $google_conversion_label .'&guid=ON&script=0" alt=""/>' . "\n";
  $script .= '</div>' . "\n";
  $script .= '</noscript>' . "\n";

	return $script;  
}

uc_adwords.module - 2014

Dit is vermoedelijk niet meer de originele code, maar een licht gewijzigde variant:

<?php

define('PRODUCTS_ONLY', FALSE); // If set to TRUE google_conversion_value will be products only (without shipping costs)

function uc_adwords_footer () {
  // Check to see if we are at the order completion page.
  if (arg(0) == 'cart' && arg(1) == 'checkout' && arg(2) == 'complete') {
    // If we can load the order...
    if ($order = uc_order_load($_SESSION['uc_adwords_order_id'])) {
      $output = add_adwords_js($order);
    }
    // Clean out the session variable.
    unset($_SESSION['uc_adwords_order_id']);
  }
  return $output;
}

/**
 * Implementation of hook_order().
 */
function uc_adwords_order($op, &$arg1, $arg2) {
  switch ($op) {
    case 'new':
      // Store the order ID for later use.
      $_SESSION['uc_adwords_order_id'] = $arg1->order_id;
      break;
  }
}

function add_adwords_js ($order) {
	//global $_google_adwords_footer_script;

	$script = '';

	// google adwords paramters
	$google_conversion_id = 986212345;
	$google_conversion_language = "en";
	$google_conversion_format = "2";
	$google_conversion_color = "ffffff";
	$google_conversion_label = "FM3zCM-12345qc2m1gM";
	$google_remarketing_only = false;

	// conversion value
	// ================
	//
	// Value PRODUCTS_ONLY (boolean)
	//
	// true : Only value of products incorporated, ex. transportation cost
	// false: Complete order amount incorporated
	//
	$PRODUCTS_ONLY = True;

	if (PRODUCTS_ONLY)
		$google_conversion_value = uc_order_get_total($order, TRUE);
	else {
		$google_conversion_value = $order->order_total;
	}
	$google_conversion_value = uc_currency_format($google_conversion_value, FALSE, TRUE, '.');

	// google adwords script
  $script = '';    
  $script .= "\n" . '<!-- Google Code for Order Complete scherm Conversion Page -->' . "\n";
  $script .= '<script type="text/javascript">' . "\n";
  //$script .= '<!--' . "\n";
  $script .= ' /* <![CDATA[ */' . "\n";
  $script .= '    var google_conversion_id = '. $google_conversion_id .';' . "\n";
  $script .= '    var google_conversion_language = "'. $google_conversion_language .'";' . "\n";
  $script .= '    var google_conversion_format = "'. $google_conversion_format .'";' . "\n";
  $script .= '    var google_conversion_color = "'. $google_conversion_color .'";' . "\n";
  $script .= '    var google_conversion_label = "'. $google_conversion_label .'";' . "\n";
  $script .= '    var google_conversion_value = "'. $google_conversion_value .'";' . "\n";
  $script .= '    var google_remarketing_only = "'. $google_remarketing_only .'";' . "\n";
  $script .= ' /* ]]> */ ' . "\n";
  $script .= '</script>' . "\n";
  $script .= '<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">' . "\n";
  $script .= '</script>' . "\n";
  $script .= '<noscript>' . "\n";
  $script .= '<div style="display:inline;">' . "\n";
  $script .= '<img height="1" width="1" border="0" src="https://www.googleadservices.com/pagead/conversion/' . $google_conversion_id . '?value='. $google_conversion_value .'&label='. $google_conversion_label .'&guid=ON&script=0" alt=""/>' . "\n";
  $script .= '</div>' . "\n";
  $script .= '</noscript>' . "\n";

	return $script;  
}