通过谷歌标签管理器发送自定义维度

时间:2017-02-24 17:46:03

标签: ios google-analytics google-tag-manager

我的iOS应用中有一个Google跟踪代码管理器实现,用于将事件(应用中的用户操作)发送到Google Analytics帐户。除了这些事件,我还希望发送一个自定义维度以及事件(此自定义维度的值为"在线"或"离线",具体取决于用户是否已连接到网上还是没有)。这就是我这样做的方式:

- (void)pushToGtmDataLayer:(NSDictionary*)dataDict
    {
    if(dataDict) {
        if([[AFNetworkReachabilityManager sharedManager]networkReachabilityStatus] != AFNetworkReachabilityStatusUnknown) {
        NSString *dimensionKey = [GAIFields customDimensionForIndex:6];
        if(dimensionKey) {
            NSMutableDictionary *tempDataDict = [NSMutableDictionary dictionaryWithDictionary:dataDict];
            BOOL online = [[AFNetworkReachabilityManager sharedManager]isReachable];
            NSString *dimensionVal = online ? @"Online Traffic" : @"Offline Traffic";
            tempDataDict[dimensionKey] = dimensionVal;
            dataDict = [NSDictionary dictionaryWithDictionary:tempDataDict];
        }
    }
    NSLog(@"<<<PUSHING TO GTM DATA LAYER: %@", [dataDict description]);
    [[[TAGManager instance] dataLayer] push:dataDict];
    }
    else {
        NSLog(@"<<<EMPTY DICT TO PUSH TO GTM DATA LAYER");
    }
}

dataDict的示例

    {
     "&cd6" = "Offline Traffic";
     EventAction = AppOpen;
     EventCategory = AppLaunch;
     EventLabel = "fresh launch";
     event = AppLaunch;
   }

这是使用GTM发送自定义维度的正确方法吗? 另请注意,正在使用不同的Google Analytics帐户(直接不使用GTM)来报告网址加载指标(所用时间等)。当我调用NSString * dimensionKey = [GAIFields customDimensionForIndex:6]时, GAIField在这里引用哪个帐户,使用GTM报告用户操作的帐户,或者没有GTM用于网址指标的帐户?

0 个答案:

没有答案