Ardit Veliu
Ardit Veliu

Reputation: 13

Custom tracking code on Woocommerce thank you page

So I'm having a problem implementing a custom tracking code that pulls in order information.

Here's what I've got in my functions.php file so far, it isn't actually showing any information though when I make a purchase.

add_action( 'woocommerce_thankyou', 'conversion_tracking' );
function conversion_tracking() {

$order = wc_get_order( $order_id );

$order_id = $order->get_id;
$order_parent_id = $order->get_parent_id;
$order_status = $order->get_status;
$order_currency = $order->get_currency;
$order_version = $order->get_version;
$order_payment_method = $order->get_payment_method;
$order_payment_method_title = $order->get_payment_method_title;
$order_payment_method = $order->get_payment_method;
$order_payment_method = $order->get_payment_method;


?>
  <script type = 'text/javascript'>
      window.sovIframes = window.sovIframes || [];
      window.sovIframes.push({
        trafficSourceNumber : '',
        trafficMediumNumber : '',       
        timestamp : '<?php echo $order_timestamp_created ?>',
        orderId : '<?php echo $order_id ?>',
        orderValue : '<?php echo $order_total ?>',
        orderCurrency : '<?php echo $order_currency ?>',
      });
<?php
}

When I try to pull the order data using this code:

$order = wc_get_order( $order_id );
$order_data = $order->get_data();

$order_id = $order_data['id'];
$order_parent_id = $order_data['parent_id'];
$order_status = $order_data['status'];
$order_currency = $order_data['currency'];
$order_version = $order_data['version'];
$order_payment_method = $order_data['payment_method'];
$order_payment_method_title = $order_data['payment_method_title'];
$order_payment_method = $order_data['payment_method'];
$order_payment_method = $order_data['payment_method'];

I get the following error:

Fatal error: Uncaught Error: Call to a member function get_data() on boolean in /home/feratino/www/REMOVED/wp-content/themes/REMOVED/functions.php:28 Stack trace: 0 /home/feratino/www/REMOVED/wp-includes/class-wp-hook.php(298): sovendus_conversion_tracking(109947)

1 /home/REMOVED/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters(NULL, Array)

2 /home/feratino/www/REMOVED/wp-includes/plugin.php(453): WP_Hook->do_action(Array)

3 /home/feratino/www/REMOVED/wp-content/plugins/woocommerce/templates/checkout/thankyou.php(74): do_action('woocommerce_tha...', 109947)

4 /home/feratino/www/REMOVED/wp-content/plugins/woocommerce/includes/wc-core-functions.php(204): include('/home/feratino/...')

5 /home/feratino/www/REMOVED/wp-content/plugins/woocommerce/includes/shortcodes/class-wc-shortcode-checkout.php(205): wc_get_template('checkout/thanky...', Array)

6 /home/feratino/www/REMOVED/wp-content/plugins/woocommerce/includes/shortcodes/class-wc-s in /home/feratino/www/REMOVED/wp-content/themes/REMOVED/functions.php on line 28

Line 28 in my functions.php:

$order_data = $order->get_data();

Upvotes: 1

Views: 1789

Answers (1)

gelanivishal
gelanivishal

Reputation: 318

Please try this code

add_action( 'woocommerce_thankyou', 'conversion_tracking' );
function conversion_tracking($order_id ) {

// Lets grab the order
$order = new WC_Order( $order_id );

// Order ID
$order_id = $order->get_order_number();

// Order total
$order_total = $order->get_total();

// Order e-mail
$order_email = $order->billing_email;
...
...

Upvotes: 0

Related Questions