Drupal Commerce AdWords-module: verschil tussen versies
Regel 17: | Regel 17: | ||
|[[file:20151009-02.png|thumb]] | |[[file:20151009-02.png|thumb]] | ||
|} | |} | ||
+ | |||
+ | == Toepassing op Drupal Commerce 1.x == | ||
== Appendix: Broncode == | == Appendix: Broncode == |
Versie van 30 nov 2016 08:05
In 2013/2014 heb ik een custom-module laten ontwikkelen 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:
Toepassing op Drupal Commerce 1.x
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 - 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; }
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; }