2014-10-25 2 views
0

내 사이트에서 잘 작동하는 전자 상거래 추적을 설정했습니다. 그러나 주문에 동일한 항목 ID가 있지만 속성이 다른 경우에는 마지막 행만 가져옵니다. 그래서 예를 들어, 동일하지만 다른 크기이다 6 개 항목 순서의 결과는 다음과 같다 :Analytics 전자 상거래 추적 만 마지막 항목 가져 오기

ga('ecommerce:addItem', { 'id': '3832', 'name': 'Big Al Poly Cotton Shop Coat', 'sku': '140', 'category': 'Shop Coats', 'price': '31.85', 'quantity': '3'}); 
ga('ecommerce:addItem', { 'id': '3832', 'name': 'Big Al Poly Cotton Shop Coat', 'sku': '140', 'category': 'Shop Coats', 'price': '31.85', 'quantity': '2'}); 
ga('ecommerce:addItem', { 'id': '3832', 'name': 'Big Al Poly Cotton Shop Coat', 'sku': '140', 'category': 'Shop Coats', 'price': '31.85', 'quantity': '4'}); 
ga('ecommerce:addItem', { 'id': '3832', 'name': 'Big Al Poly Cotton Shop Coat', 'sku': '140', 'category': 'Shop Coats', 'price': '31.85', 'quantity': '4'}); 
ga('ecommerce:addItem', { 'id': '3832', 'name': 'Big Al Poly Cotton Shop Coat', 'sku': '140', 'category': 'Shop Coats', 'price': '31.85', 'quantity': '4'}); 
ga('ecommerce:addItem', { 'id': '3832', 'name': 'Big Al Poly Cotton Shop Coat', 'sku': '140', 'category': 'Shop Coats', 'price': '36.65', 'quantity': '2'}); 

분석하여 기록하는 경우에만 광고가 마지막이다. 주문한 제품마다 주문이 다르면 모든 것이 잘 작동합니다. 문제가있는 동일한 제품의 여러 속성이있는 경우에만 해당됩니다.

는 문자열을 생성하는 PHP이다

$item_string = ''; 
    $items_query = tep_db_query("select products_id, products_model, products_name, final_price, products_tax, products_quantity from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . $order_id . "' order by products_name"); 
    while ($items = tep_db_fetch_array($items_query)) { 
     $category_query = tep_db_query("select p2c.categories_id, cd.categories_name from " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p2c.products_id = '" . $items['products_id'] . "' AND cd.categories_id = p2c.categories_id AND cd.language_id = '" . (int)$languages_id . "'"); 
     $category = tep_db_fetch_array($category_query); 

     $item_string .= "ga('ecommerce:addItem', { "; 
     $item_string .= "'id': '" . $order_id . "', 'name': '" . $items['products_name'] . "', 'sku': '" . $items['products_id'] . "', 'category': '" . $category['categories_name'] . "', 'price': '" . number_format(tep_add_tax($items['final_price'], $items['products_tax']), 2) . "', 'quantity': '" . $items['products_quantity'] . "'"; 
     $item_string .= "}); \n"; 

    } 
+0

우리를 논리로 안내하십시오. '$ items_query'는 모든 제품을 주문한 테이블입니까? 그렇다면'GROUP BY products_id'해야합니다. – carlodurso

+0

예 $ items 쿼리는 다음과 같습니다. http://i.imgur.com/r3tWBVQ.jpg 방금 product_id 대신 orders_product_id 필드를 사용하도록 SKU를 변경했습니다. – Sackling

답변

0

문제는 모든 항목이 동일한 SKU를 사용하고 있다는 것입니다. GA는 SKU에 의한 전자 상거래를 추적합니다. ID는 항목을 동일한 트랜잭션에 연결하므로 트랜잭션 ID와 동일해야합니다.

자세한 내용은 GA e-commerce 구현 가이드를 확인하십시오.

카트에 동일한 SKU가있는 항목이 여러 개있는 경우 수량 매개 변수를 사용해야합니다.

+0

이 답변은 정확합니다. ID는 동일해야하며 (트랜잭션 ID) SKU는 고유해야합니다. –

0

GA 문제 모두 동일한 ID를 갖기 때문에 상품 분리 데있다.

Google은 제품 ID별로 고유 한 광고 항목을 선택합니다. 현재 "상위"제품의 제품 ID를 전달 중입니다.

다른 크기의 다른 모든 어린이 제품에 고유 ID를 대신 제공하면 GA가 쉽게이를보고 할 수 있습니다.

아마도 고유 한 ID가 데이터베이스의 어딘가에있을 경우 $items_query을 수정하여 하위 및 상위 ID를 전달해야합니다. 데이터베이스에 하위 ID가 없으면 제품 ID에 크기를 추가하여 GA를 통해 분석을위한 고유 ID를 만들 수 있습니다.

+0

아 좋아요. 나는 그것이 원인 인 SKU 필드라고 생각합니다. 나는 그것들을 각 줄마다 독특하게 바 꾸었습니다. – Sackling

관련 문제