2016-08-05 127 views
0

在實施iOS增強型電子商務功能後,谷歌分析電子商務概覽顯示零收入。我直接實施了交易測量,而無需任何結帳步驟。控制檯輸出會顯示正確的收入值以及其他變量,但之後將顯示「http status -1」。我已經發布了一個「丟失電子商務數據」通知檢查,但已經過了3天,並且還在等待處理。有誰知道如何解決這個問題?谷歌分析增強型電子商務未收到收入

我一直在下面的電子商務谷歌官方指南這裏(衡量交易部分): https://developers.google.com/analytics/devguides/collection/ios/v3/enhanced-ecommerce#measuring-transactions

P.S:谷歌Analytics(分析)增強型電子商務功能啓用,GoogleService-Info.plist中被添加到項目中。

我的代碼:

static func tagCheckoutFromBookingInfo(bookingInfo: BookingInfo?, discountCode: String?) { 
    //#if ANALYTICS 
    let eventData = ProductInfo() 
    let generalProductDict = eventData.getPayload(bookingInfo?.property, priceInfo: bookingInfo?.propertyPriceInfo(), specificInfo: nil, positionInList: nil) 

    let product = ecommerceProductFromGeneralProductDict(generalProductDict, discountCode: discountCode) 

    let builder = GAIDictionaryBuilder.createEventWithCategory(GTMEcommerceKeys.CheckoutCategory.rawValue, action: GTMEcommerceKeys.CheckoutPurchase.rawValue, label: nil, value: nil) 

    let action = GAIEcommerceProductAction() 
    action.setAction(kGAIPAPurchase) 
    action.setTransactionId("T123") 
    action.setAffiliation(GTMEcommerceKeys.CheckoutAffiliaction.rawValue) 
    action.setRevenue(NSNumber(double: GTMHelper.priceFromDict(generalProductDict))) 
    action.setCouponCode(discountCode ?? "") 

    builder.setProductAction(action) 
    builder.addProduct(product) 

    let build: [NSObject: AnyObject] = builder.build() as [NSObject : AnyObject] 
    tracker.send(build) 
    //#endif 
} 

static func ecommerceProductFromGeneralProductDict(dict: [String: AnyObject]?, discountCode: String?) -> GAIEcommerceProduct { 
    let product = GAIEcommerceProduct() 

    let productId = (dict?[GTMKeys.ProductId.rawValue] as? String) ?? "" 
    let productName = (dict?[GTMKeys.ProductName.rawValue] as? String) ?? "" 
    product.setId(productId) 
    product.setName(productName) 

    if discountCode != nil { 
     product.setCouponCode(discountCode ?? "") 
    } 
    if let productCategory = dict?[GTMKeys.ProductType.rawValue] as? String { 
     product.setCategory(productCategory) 
    } 

    product.setPrice(GTMHelper.priceFromDict(dict)) 

    product.setQuantity(NSNumber(integer: 1)) 

    return product 
} 

控制檯輸出:

2016-08-05 16:41:28.986 Belvilla[1435:339806] VERBOSE: GoogleAnalytics 3.14 -[GAIBatchingDispatcher persist:] (GAIBatchingDispatcher.m:517): Saved hit: { 
parameters =  { 
    "&_crc" = 0; 
    "&_s" = 3; 
    "&_u" = ".nteynL"; 
    "&_v" = "mi3.1.4"; 
    "&a" = 655...; 
    "&aid" = "--------------"; 
    "&an" = Name; 
    "&ate" = "<null>"; 
    "&av" = "3.4.0"; 
    "&cid" = "f40c6c80-3ec9-43..."; 
    "&dm" = "iPhone6,1"; 
    "&ds" = app; 
    "&ea" = Purchase; 
    "&ec" = Ecommerce; 
    "&el" = "<null>"; 
    "&ev" = "<null>"; 
    "&idfa" = "<null>"; 
    "&pa" = purchase; 
    "&pr1ca" = "Holiday home"; 
    "&pr1cc" = ""; 
    "&pr1id" = "XX-00-20-00"; 
    "&pr1nm" = "Test House"; 
    "&pr1pr" = "456.7"; 
    "&pr1qt" = 1; 
    "&sr" = 640x1136; 
    "&t" = event; 
    "&ta" = "Booking"; 
    "&tcc" = ""; 
    "&ti" = T123; 
    "&tid" = "UA-....."; 
    "&tr" = "456.7"; 
    "&ul" = "en-fr"; 
    "&v" = 1; 
    "&z" = 740324....; 
    gaiVersion = "3.14"; 
}; 
timestamp = "2016-08-05 13:41:28 +0000"; 
} 

回答

0

好了,所以該訣竅是從TagManager移除自定義調度間隔(應用程序是結合兩種GA和GTM)

tagManager.dispatchInterval = NSTimeInterval(1.0) 

之後,默認調度間隔(120秒)被設置,一切工作正常,HTTP響應c頌歌是200.

相關問題