Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

[WP] Easy Digital Downloads 전자상거래 추적코드 플러그인

2018-01-11 by 편리

워드프레스 플러그인 Easy Digital Downloads 에서 Google Analytics 전자상거래 전환추적 코드를 Easy Digital Downloads 구매완료 페이지에 출력해주는 플러그인이다. gtag.js 추적코드를 사용하는 환경에 맞게 개발됐다. 다음의 첨부 파일을 다운로드 후 워드프레스 플러그인 디렉토리에 업로드 후 플러그인을 활성해 주면 된다. 다양한 환경에서 테스트 한 것이 아니기 때문에 오류가 있을 수 있다. 테스트는 워드프레스 4.9.1, Easy Digital Downloads 2.8.17 환경에서 진행됐다.

플러그인 다운로드 : ga-ecommerce-tracking.zip

아래는 ga-ecommerce-tracking 플러그인의 코드이다.

<?php
/*
Plugin Name: Easy Digital Downloads GA Ecommerce Tracking
Description: Track GA e-Commerce data from Easy Digital Downloads
Version: 1.0.0
Author: chicpro
Author URI: https://chicpro.dev
*/

function ga_ecommerce_tracking_script() {
	
	if( ! class_exists( 'Easy_Digital_Downloads' ) )
		return;
	
	if ( ! edd_is_success_page() )
		return;
	
	global $edd_receipt_args;
	
	$payment = get_post( $edd_receipt_args['id'] );
	$meta = edd_get_payment_meta( $payment->ID );	

	// Get Transaction ID
	if ( isset( $_GET['payment_key'] ) ) {
		$payment_key = trim($_GET['payment_key']);
	} else if ( isset( $edd_receipt_args['id'] ) ) {
		$payment_key = $edd_receipt_args['id'];
	} else if ( isset( $meta['key'] ) ) {
		$payment_key = $meta['key'];
	}

	if ( ! isset( $payment_key ) )
		return;
	
	// Payment Info
	$cart_items = array();
	$payment_obj = new EDD_Payment( $payment->ID );
	$total = $payment_obj->total;
	$tax = $payment_obj->tax;
	
	if( isset( $meta['cart_details'] ) )
		$cart_items = $meta['cart_details'];

	//echo '<div style="display:none;">';
	//print_r($payment_key);
	//echo '</div>';

	if(!empty($cart_items)) {
	?>
	<script>
	gtag('event', 'purchase', {
		"transaction_id": "<?php echo $payment_key; ?>",
		"affiliation": "<?php bloginfo( "name" ); ?>",
		"value": <?php echo esc_js( $total ); ?>,
		"currency": "KRW",
		"tax": <?php echo esc_js( $tax ); ?>,
		"shipping": 0,	
		"items": [
			<?php
			$i = 0;
			foreach( $cart_items as $key => $product ) {
				if($i > 0)
					echo ','.PHP_EOL;
			?>
			{
				"id": "<?php echo esc_js( $product["id"] ); ?>",
				"name": "<?php echo esc_js( $product["name"] ); ?>",
				"quantity": <?php echo esc_js( $product["quantity"] ); ?>,
				"price": '<?php echo esc_js( $product["item_price"] ); ?>'
			}
			<?php
				$i++;
			}
			?>
		]
	});
	</script>	
	<?php
	}
}

add_action( 'wp_footer', 'ga_ecommerce_tracking_script', 20 );

플러그인을 사용하기 전에 아래와 같은 Google Analytics 추적코드가 삽입되어 있어야 한다.

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-1631115-6"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
 
  gtag('config', 'UA-1631115-6');
</script>

Post navigation

Previous Post:

아이폰 거치대? 스탠드?

Next Post:

휴대폰 무선충전 거치대

Recent Posts

  • PHP 코드 중간에서 include_path 설정 변경하기
  • 아이폰 키보드 오타 줄이기
  • iPhone 음악 음질 향상 방법
  • Windows 11 업데이트 수동으로 설치하기
  • AWS CLI를 이용하여 S3 파일의 Content-Type 변경
  • 맥 Automator를 이용한 여러 개 App 동시실행
  • 인터넷 접속이 제한된 환경에서 brew 를 이용한 패키지 업데이트
  • Notepad++ NppFTP 플러그인 수동 설치
  • Gitlab CI 에서 Merge Request Approve 여부 체크
  • hidutil 을 이용한 맥키보드 한/영 변경키 변경

Recent Comments

  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축
  • Stas on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축
  • 편리 on [PHP] HTTP와 PHP를 이용한 html5 video 스트리밍 구현
  • Kim on [PHP] HTTP와 PHP를 이용한 html5 video 스트리밍 구현
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 고맙습니다 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on PHPMailer를 이용한 이메일 발송

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2023 CHICPRO | Built using WordPress and SuperbThemes