2016-08-05 51 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.

相关问题