Automattic\WooCommerce\Internal\Orders

OrderAttributionController::send_order_tracks()privateWC 1.0

Send order source data to Tracks.

Method of the class: OrderAttributionController{}

No Hooks.

Return

null. Nothing (null).

Usage

// private - for code of main (parent) class only
$result = $this->send_order_tracks( $source_data, $order );
$source_data(array) (required)
The source data.
$order(WC_Order) (required)
The order object.

OrderAttributionController::send_order_tracks() code WC 9.6.0

private function send_order_tracks( array $source_data, WC_Order $order ) {
	$origin_label = $this->get_origin_label(
		$source_data['source_type'] ?? '',
		$source_data['utm_source'] ?? '',
		false
	);

	$tracks_data = array(
		'order_id'            => $order->get_id(),
		'source_type'         => $source_data['source_type'] ?? '',
		'medium'              => $source_data['utm_medium'] ?? '',
		'source'              => $source_data['utm_source'] ?? '',
		'device_type'         => strtolower( $source_data['device_type'] ?? 'unknown' ),
		'origin_label'        => strtolower( $origin_label ),
		'session_pages'       => $source_data['session_pages'] ?? 0,
		'session_count'       => $source_data['session_count'] ?? 0,
		'order_total'         => $order->get_total(),
		'customer_registered' => $order->get_customer_id() ? 'yes' : 'no',
	);

	if ( function_exists( 'wc_admin_record_tracks_event' ) ) {
		wc_admin_record_tracks_event( 'order_attribution', $tracks_data );
	}
}