내 사이트에서 잘 작동하는 전자 상거래 추적을 설정했습니다. 그러나 주문에 동일한 항목 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";
}
우리를 논리로 안내하십시오. '$ items_query'는 모든 제품을 주문한 테이블입니까? 그렇다면'GROUP BY products_id'해야합니다. – carlodurso
예 $ items 쿼리는 다음과 같습니다. http://i.imgur.com/r3tWBVQ.jpg 방금 product_id 대신 orders_product_id 필드를 사용하도록 SKU를 변경했습니다. – Sackling