에어브릿지는 에어브릿지 이벤트로 정의된 이벤트 데이터만 수집합니다. 에어브릿지 이벤트 정의에 필요한 구성요소를 알아보세요. 에어브릿지 이벤트 종류 가이드와 함께 보는 것을 권장드립니다.
에어브릿지 이벤트 구성요소에는 카테고리(Event Category), 액션(Event Action), 라벨(Event Label), 밸류(Event Value), 어트리뷰트(Attribute), 트리거(Trigger)가 있습니다.
카테고리는 에어브릿지 이벤트를 정의하기 위해 반드시 정의해야 하는 필수 구성요소입니다. 카테고리는 에어브릿지 이벤트 이름으로 사용됩니다. 또한 카테고리를 기준으로 광고 채널에 포스트백으로 전송하는 이벤트를 선택할 수 있습니다.
에어브릿지 이벤트는 카테고리 사전 정의 여부에 따라 스탠다드 이벤트와 커스텀 이벤트로 나뉩니다. 스탠다드 이벤트는 에어브릿지에서 미리 정한 카테고리를 사용한 이벤트로, 에어브릿지 대시보드에서는 해당 카테고리로 이벤트 이름을 확인할 수 있습니다. 커스텀 이벤트는 에어브릿지 사용자가 새로 만든 카테고리를 사용한 이벤트입니다.
카테고리는 아래 규칙을 지켜야 합니다.
영문의 대소문자를 구분합니다.
스탠다드 이벤트 이름은 에어브릿지에서 미리 정한 카테고리를 사용합니다.
커스텀 이벤트 이름은 영문자, 숫자, 언더바(_)만 사용할 수 있으며 airbridge.로 시작할 수 없습니다. 최대 허용 길이는 128자입니다.
:을 포함하는 이벤트 카테고리는 사용할 수 없습니다.
카테고리로 수집한 데이터에 따라 아래 제한사항이 적용됩니다.
데이터 형식에 맞지 않는 이벤트는 수집되지 않습니다. 카테고리의 데이터 형식은 string입니다.
수집한 데이터가 최대 허용 길이인 128자를 벗어나면 최대 길이까지만 데이터를 수집합니다.
카테고리로 수집한 데이터는 카테고리와 같은 이름의 메트릭을 선택하거나, 그룹바이, 필터, 프로퍼티로 Event Category를 선택하면 에어브릿지 리포트나 원본 데이터에서 확인할 수 있습니다.
액션과 라벨은 에어브릿지 이벤트에서 문자열로 수집되는 추가 속성입니다. 최대 2개까지 정의할 수 있습니다.
액션과 라벨로 속성 자유롭게 수집하기
액션과 라벨이라는 단어가 가진 뜻과 수집할 수 있는 속성은 관계없습니다. 예를 들어 액션은 유저 행동에 관련된 속성만 수집할 수 있는 구성요소가 아닙니다.
액션, 라벨은 아래 규칙을 지켜야 합니다.
영문과 국문, 그리고 숫자를 사용할 수 있습니다. 최대 허용 길이는 128자입니다.
영문의 대소문자를 구분합니다. 공백과 특수 문자(?, !, ,, ., /, &, (, ), -, _)를 지원합니다. 특수 문자는 _만 사용할 것을 권장합니다.
액션, 라벨로 수집한 데이터에 따라 아래 제한사항이 적용됩니다.
데이터 형식에 맞지 않는 이벤트는 수집되지 않습니다. 액션, 라벨의 데이터 형식은 string입니다.
수집한 데이터가 최대 허용 길이인 128자를 벗어나면 최대 길이까지만 데이터를 수집합니다.
액션과 라벨로 수집한 데이터는 그룹바이로 Event Action, Event Label을 선택하면 에어브릿지 리포트나 원본 데이터에서 확인할 수 있습니다.
밸류는 에어브릿지 이벤트에서 숫자로 수집되는 추가 속성입니다. 예를 들어 구매 완료, 광고 클릭 등 매출이 발생하는 이벤트의 매출을 수집하려면 이벤트에 밸류를 포함해야 합니다.
구매 완료 이벤트로 다음과 같이 데이터가 수집됐다고 가정합니다.
구매 완료 이벤트의 액션으로 '의류'가 2번 발생했습니다.
구매 완료 이벤트의 라벨로 '상의'와 '하의'가 각각 1번씩 발생했습니다.
구매 완료 이벤트의 밸류로 30,000원이 발생했습니다. 이는 구매 완료 이벤트로 발생한 총 매출액입니다.
밸류로 수집한 데이터에 따라 아래 제한사항이 적용됩니다.
데이터 형식에 맞지 않는 이벤트는 수집되지 않습니다. 밸류의 데이터 형식은 float입니다.
수집한 데이터가 최대 허용 자릿수인 소수점 9자리를 초과하면 소수점 9자리까지만 수집합니다.
어트리뷰트는 액션과 라벨 외 에어브릿지 이벤트에서 수집되는 추가 속성입니다. 어트리뷰트 종류에 따라 문자열, 숫자 등으로 수집됩니다.
주의하세요
어트리뷰트로 수집한 데이터는 에어브릿지 리포트에서 확인할 수 없습니다. 에어브릿지 리포트에서 확인할 데이터는 액션과 라벨로 수집하세요.
어트리뷰트에는 시맨틱 어트리뷰트(Semantic Attribute)와 커스텀 어트리뷰트(Custom Attribute)가 있습니다.
시맨틱 어트리뷰트: 에어브릿지가 미리 정의한 어트리뷰트
커스텀 어트리뷰트: 에어브릿지 사용자가 새롭게 정의한 어트리뷰트
시맨틱 어트리뷰트는 에어브릿지가 미리 정의한 어트리뷰트입니다.
에어브릿지에서 지원하는 시맨틱 어트리뷰트입니다.
Airbridge.trackEvent( "purchase_card", mapOf( AirbridgeAttribute.TRANSACTION_ID to "1458132a-0d09-4944-a686-fcbee81b74f7", AirbridgeAttribute.PRODUCTS to listOf( mapOf( AirbridgeAttribute.PRODUCT_ID to "1234", AirbridgeAttribute.PRODUCT_NAME to "Nike 1", AirbridgeAttribute.PRODUCT_PRICE to 55, AirbridgeAttribute.PRODUCT_CURRENCY to "USD", AirbridgeAttribute.PRODUCT_QUANTITY to 1, ), mapOf( AirbridgeAttribute.PRODUCT_ID to "1235", AirbridgeAttribute.PRODUCT_NAME to "Nike 2", AirbridgeAttribute.PRODUCT_PRICE to 44, AirbridgeAttribute.PRODUCT_CURRENCY to "USD", AirbridgeAttribute.PRODUCT_QUANTITY to 1, ), ), AirbridgeAttribute.CURRENCY to "USD", ))Airbridge.trackEvent( "purchase_card", new HashMap() {{ put(AirbridgeAttribute.TRANSACTION_ID, "1458132a-0d09-4944-a686-fcbee81b74f7"); put(AirbridgeAttribute.PRODUCTS, Arrays.asList( new HashMap() {{ put(AirbridgeAttribute.PRODUCT_ID, "1234"); put(AirbridgeAttribute.PRODUCT_NAME, "Nike 1"); put(AirbridgeAttribute.PRODUCT_PRICE, 55); put(AirbridgeAttribute.PRODUCT_CURRENCY, "USD"); put(AirbridgeAttribute.PRODUCT_QUANTITY, 1); }}, new HashMap() {{ put(AirbridgeAttribute.PRODUCT_ID, "1235"); put(AirbridgeAttribute.PRODUCT_NAME, "Nike 2"); put(AirbridgeAttribute.PRODUCT_PRICE, 44); put(AirbridgeAttribute.PRODUCT_CURRENCY, "USD"); put(AirbridgeAttribute.PRODUCT_QUANTITY, 1); }} )); put(AirbridgeAttribute.CURRENCY, "USD"); }});Airbridge.trackEvent( "purchase_card", mapOf( AirbridgeAttribute.TRANSACTION_ID to "1458132a-0d09-4944-a686-fcbee81b74f7", AirbridgeAttribute.PRODUCTS to listOf( mapOf( AirbridgeAttribute.PRODUCT_ID to "1234", AirbridgeAttribute.PRODUCT_NAME to "Nike 1", AirbridgeAttribute.PRODUCT_PRICE to 55, AirbridgeAttribute.PRODUCT_CURRENCY to "USD", AirbridgeAttribute.PRODUCT_QUANTITY to 1, ), mapOf( AirbridgeAttribute.PRODUCT_ID to "1235", AirbridgeAttribute.PRODUCT_NAME to "Nike 2", AirbridgeAttribute.PRODUCT_PRICE to 44, AirbridgeAttribute.PRODUCT_CURRENCY to "USD", AirbridgeAttribute.PRODUCT_QUANTITY to 1, ), ), AirbridgeAttribute.CURRENCY to "USD", ))Airbridge.trackEvent( "purchase_card", new HashMap() {{ put(AirbridgeAttribute.TRANSACTION_ID, "1458132a-0d09-4944-a686-fcbee81b74f7"); put(AirbridgeAttribute.PRODUCTS, Arrays.asList( new HashMap() {{ put(AirbridgeAttribute.PRODUCT_ID, "1234"); put(AirbridgeAttribute.PRODUCT_NAME, "Nike 1"); put(AirbridgeAttribute.PRODUCT_PRICE, 55); put(AirbridgeAttribute.PRODUCT_CURRENCY, "USD"); put(AirbridgeAttribute.PRODUCT_QUANTITY, 1); }}, new HashMap() {{ put(AirbridgeAttribute.PRODUCT_ID, "1235"); put(AirbridgeAttribute.PRODUCT_NAME, "Nike 2"); put(AirbridgeAttribute.PRODUCT_PRICE, 44); put(AirbridgeAttribute.PRODUCT_CURRENCY, "USD"); put(AirbridgeAttribute.PRODUCT_QUANTITY, 1); }} )); put(AirbridgeAttribute.CURRENCY, "USD"); }});Airbridge.trackEvent( category = "purchase_card", semanticAttributes = mapOf( SemanticAttributes.KEY_TRANSACTION_ID to "1458132a-0d09-4944-a686-fcbee81b74f7", SemanticAttributes.KEY_PRODUCTS to listOf( mapOf( Product.KEY_ID to "1234", Product.KEY_NAME to "Nike 1", Product.KEY_PRICE to 55, Product.KEY_CURRENCY to "USD", Product.KEY_QUANTITY to 1 ), mapOf( Product.KEY_ID to "1235", Product.KEY_NAME to "Nike 2", Product.KEY_PRICE to 44, Product.KEY_CURRENCY to "USD", Product.KEY_QUANTITY to 1 ) ), SemanticAttributes.KEY_CURRENCY to "USD" ))Map<String, Object> product1 = new HashMap<>();product1.put(Product.KEY_ID, "1234");product1.put(Product.KEY_NAME, "Nike 1");product1.put(Product.KEY_PRICE, 55);product1.put(Product.KEY_CURRENCY, "USD");product1.put(Product.KEY_QUANTITY, 1); Map<String, Object> product2 = new HashMap<>();product2.put(Product.KEY_ID, "1235");product2.put(Product.KEY_NAME, "Nike 2");product2.put(Product.KEY_PRICE, 44);product2.put(Product.KEY_CURRENCY, "USD");product2.put(Product.KEY_QUANTITY, 1); List<Map<String, Object>> products = new ArrayList<>();products.add(product1);products.add(product2); Map<String, Object> semanticAttributes = new HashMap<>();semanticAttributes.put(SemanticAttributes.KEY_TRANSACTION_ID, "1458132a-0d09-4944-a686-fcbee81b74f7");semanticAttributes.put(SemanticAttributes.KEY_PRODUCTS, products);semanticAttributes.put(SemanticAttributes.KEY_CURRENCY, "USD"); Airbridge.trackEvent( "purchase_card", // Category null, // Action null, // Label null, // Value null, // Custom Attributes semanticAttributes // Semantic Attributes);Airbridge.trackEvent( category = "purchase_card", semanticAttributes = mapOf( SemanticAttributes.KEY_TRANSACTION_ID to "1458132a-0d09-4944-a686-fcbee81b74f7", SemanticAttributes.KEY_PRODUCTS to listOf( mapOf( Product.KEY_ID to "1234", Product.KEY_NAME to "Nike 1", Product.KEY_PRICE to 55, Product.KEY_CURRENCY to "USD", Product.KEY_QUANTITY to 1 ), mapOf( Product.KEY_ID to "1235", Product.KEY_NAME to "Nike 2", Product.KEY_PRICE to 44, Product.KEY_CURRENCY to "USD", Product.KEY_QUANTITY to 1 ) ), SemanticAttributes.KEY_CURRENCY to "USD" ))Map<String, Object> product1 = new HashMap<>();product1.put(Product.KEY_ID, "1234");product1.put(Product.KEY_NAME, "Nike 1");product1.put(Product.KEY_PRICE, 55);product1.put(Product.KEY_CURRENCY, "USD");product1.put(Product.KEY_QUANTITY, 1); Map<String, Object> product2 = new HashMap<>();product2.put(Product.KEY_ID, "1235");product2.put(Product.KEY_NAME, "Nike 2");product2.put(Product.KEY_PRICE, 44);product2.put(Product.KEY_CURRENCY, "USD");product2.put(Product.KEY_QUANTITY, 1); List<Map<String, Object>> products = new ArrayList<>();products.add(product1);products.add(product2); Map<String, Object> semanticAttributes = new HashMap<>();semanticAttributes.put(SemanticAttributes.KEY_TRANSACTION_ID, "1458132a-0d09-4944-a686-fcbee81b74f7");semanticAttributes.put(SemanticAttributes.KEY_PRODUCTS, products);semanticAttributes.put(SemanticAttributes.KEY_CURRENCY, "USD"); Airbridge.trackEvent( "purchase_card", // Category null, // Action null, // Label null, // Value null, // Custom Attributes semanticAttributes // Semantic Attributes);Airbridge.trackEvent( category: "purchase_card", semanticAttributes: [ AirbridgeAttribute.TRANSACTION_ID: "1458132a-0d09-4944-a686-fcbee81b74f7", AirbridgeAttribute.PRODUCTS: [ [ AirbridgeAttribute.PRODUCT_ID: "1234", AirbridgeAttribute.PRODUCT_NAME: "Nike 1", AirbridgeAttribute.PRODUCT_PRICE: 55, AirbridgeAttribute.PRODUCT_CURRENCY: "USD", AirbridgeAttribute.PRODUCT_QUANTITY: 1, ], [ AirbridgeAttribute.PRODUCT_ID: "1235", AirbridgeAttribute.PRODUCT_NAME: "Nike 2", AirbridgeAttribute.PRODUCT_PRICE: 44, AirbridgeAttribute.PRODUCT_CURRENCY: "USD", AirbridgeAttribute.PRODUCT_QUANTITY: 1, ], ], AirbridgeAttribute.CURRENCY: "USD", ])[Airbridge trackEventWithCategory:@"purchase_card" semanticAttributes:@{ AirbridgeAttribute.TRANSACTION_ID : @"1458132a-0d09-4944-a686-fcbee81b74f7", AirbridgeAttribute.PRODUCTS : @[ @{ AirbridgeAttribute.PRODUCT_ID : @"1234", AirbridgeAttribute.PRODUCT_NAME : @"Nike 1", AirbridgeAttribute.PRODUCT_PRICE : @(55), AirbridgeAttribute.PRODUCT_CURRENCY : @"USD", AirbridgeAttribute.PRODUCT_QUANTITY : @(1), }, @{ AirbridgeAttribute.PRODUCT_ID : @"1235", AirbridgeAttribute.PRODUCT_NAME : @"Nike 2", AirbridgeAttribute.PRODUCT_PRICE : @(44), AirbridgeAttribute.PRODUCT_CURRENCY : @"USD", AirbridgeAttribute.PRODUCT_QUANTITY : @(1), }, ], AirbridgeAttribute.CURRENCY : @"USD",}];Airbridge.trackEvent( category: "purchase_card", semanticAttributes: [ AirbridgeAttribute.TRANSACTION_ID: "1458132a-0d09-4944-a686-fcbee81b74f7", AirbridgeAttribute.PRODUCTS: [ [ AirbridgeAttribute.PRODUCT_ID: "1234", AirbridgeAttribute.PRODUCT_NAME: "Nike 1", AirbridgeAttribute.PRODUCT_PRICE: 55, AirbridgeAttribute.PRODUCT_CURRENCY: "USD", AirbridgeAttribute.PRODUCT_QUANTITY: 1, ], [ AirbridgeAttribute.PRODUCT_ID: "1235", AirbridgeAttribute.PRODUCT_NAME: "Nike 2", AirbridgeAttribute.PRODUCT_PRICE: 44, AirbridgeAttribute.PRODUCT_CURRENCY: "USD", AirbridgeAttribute.PRODUCT_QUANTITY: 1, ], ], AirbridgeAttribute.CURRENCY: "USD", ])[Airbridge trackEventWithCategory:@"purchase_card" semanticAttributes:@{ AirbridgeAttribute.TRANSACTION_ID : @"1458132a-0d09-4944-a686-fcbee81b74f7", AirbridgeAttribute.PRODUCTS : @[ @{ AirbridgeAttribute.PRODUCT_ID : @"1234", AirbridgeAttribute.PRODUCT_NAME : @"Nike 1", AirbridgeAttribute.PRODUCT_PRICE : @(55), AirbridgeAttribute.PRODUCT_CURRENCY : @"USD", AirbridgeAttribute.PRODUCT_QUANTITY : @(1), }, @{ AirbridgeAttribute.PRODUCT_ID : @"1235", AirbridgeAttribute.PRODUCT_NAME : @"Nike 2", AirbridgeAttribute.PRODUCT_PRICE : @(44), AirbridgeAttribute.PRODUCT_CURRENCY : @"USD", AirbridgeAttribute.PRODUCT_QUANTITY : @(1), }, ], AirbridgeAttribute.CURRENCY : @"USD",}];let event = ABInAppEvent() event?.setCategory("purchase_card") let semantics: [String: Any] = [ ABSemanticsKey.transactionID: "1458132a-0d09-4944-a686-fcbee81b74f7", ABSemanticsKey.products: [ [ ABProductKey.productID: "1234", ABProductKey.name: "Nike 1", ABProductKey.price: 55, ABProductKey.currency: "USD", ABProductKey.quantity: 1, ], [ ABProductKey.productID: "1235", ABProductKey.name: "Nike 2", ABProductKey.price: 44, ABProductKey.currency: "USD", ABProductKey.quantity: 1, ], ], ABSemanticsKey.currency: "USD",]event?.setSemantics(semantics) event?.send()ABInAppEvent* event = [[ABInAppEvent alloc] init]; [event setCategory:@"purchase_card"]; NSDictionary* semantics = @{ ABSemanticsKey.transactionID: @"1458132a-0d09-4944-a686-fcbee81b74f7", ABSemanticsKey.products: @[@{ ABProductKey.productID: @"1234", ABProductKey.name: @"Nike 1", ABProductKey.price: @(55), ABProductKey.currency: @"USD", ABProductKey.quantity: @(1), }, @{ ABProductKey.productID: @"1235", ABProductKey.name: @"Nike 2", ABProductKey.price: @(44), ABProductKey.currency: @"USD", ABProductKey.quantity: @(1), }], ABSemanticsKey.currency: @"USD"};[event setSemantics:semantics]; [event send];let event = ABInAppEvent() event?.setCategory("purchase_card") let semantics: [String: Any] = [ ABSemanticsKey.transactionID: "1458132a-0d09-4944-a686-fcbee81b74f7", ABSemanticsKey.products: [ [ ABProductKey.productID: "1234", ABProductKey.name: "Nike 1", ABProductKey.price: 55, ABProductKey.currency: "USD", ABProductKey.quantity: 1, ], [ ABProductKey.productID: "1235", ABProductKey.name: "Nike 2", ABProductKey.price: 44, ABProductKey.currency: "USD", ABProductKey.quantity: 1, ], ], ABSemanticsKey.currency: "USD",]event?.setSemantics(semantics) event?.send()ABInAppEvent* event = [[ABInAppEvent alloc] init]; [event setCategory:@"purchase_card"]; NSDictionary* semantics = @{ ABSemanticsKey.transactionID: @"1458132a-0d09-4944-a686-fcbee81b74f7", ABSemanticsKey.products: @[@{ ABProductKey.productID: @"1234", ABProductKey.name: @"Nike 1", ABProductKey.price: @(55), ABProductKey.currency: @"USD", ABProductKey.quantity: @(1), }, @{ ABProductKey.productID: @"1235", ABProductKey.name: @"Nike 2", ABProductKey.price: @(44), ABProductKey.currency: @"USD", ABProductKey.quantity: @(1), }], ABSemanticsKey.currency: @"USD"};[event setSemantics:semantics]; [event send];airbridge.events.send("purchase_card", { semanticAttributes: { transactionID: '1458132a-0d09-4944-a686-fcbee81b74f7', products: [{ productID: "1234", name: "Nike 1", price: 55, currency: "USD", quantity: 1 }, { productID: "1235", name: "Nike 2", price: 44, currency: "USD", quantity: 1 }], currency: "USD" }});커스텀 어트리뷰트는 에어브릿지 사용자가 새롭게 정의한 어트리뷰트입니다. 커스텀 어트리뷰트로 수집된 모든 데이터는 원본 데이터에서 컬럼 1개에 포함됩니다. 예를 들어 커스텀 어트리뷰트로 아이템의 종류와 개수를 정의하면 컬럼 1개에 sword와 1이 모두 포함됩니다.
Airbridge.trackEvent( category = "purchase_card", customAttributes = mapOf( "userRank" to "1", "itemType" to "sword" ))Airbridge.trackEvent( "purchase_card", // Category null, // Semantic Attributes new HashMap() {{ // Custom Attributes put("userRank", "1"); put("itemType", "sword"); }});Airbridge.trackEvent( category = "purchase_card", customAttributes = mapOf( "userRank" to "1", "itemType" to "sword" ))Airbridge.trackEvent( category = "purchase_card", customAttributes = mapOf( "userRank" to "1", "itemType" to "sword" ))Map<String, Object> customAttributes = new HashMap<>();customAttributes.put("userRank", "1");customAttributes.put("itemType", "sword"); Airbridge.trackEvent( "purchase_card", // Category null, // Action null, // Label null, // Value customAttributes, // Custom Attributes null // Semantic Attributes);Airbridge.trackEvent( category = "purchase_card", customAttributes = mapOf( "userRank" to "1", "itemType" to "sword" ))Map<String, Object> customAttributes = new HashMap<>();customAttributes.put("userRank", "1");customAttributes.put("itemType", "sword"); Airbridge.trackEvent( "purchase_card", // Category null, // Action null, // Label null, // Value customAttributes, // Custom Attributes null // Semantic Attributes);Airbridge.trackEvent( category: "purchase_card", semanticAttributes: [:], customAttributes: [ "userRank": "1", "itemType": "sword", ])[Airbridge trackEventWithCategory:@"purchase_card" semanticAttributes:@{} customAttributes:@{@"userRank" : @"1", @"itemType" : @"sword"}];Airbridge.trackEvent( category: "purchase_card", semanticAttributes: [:], customAttributes: [ "userRank": "1", "itemType": "sword", ])[Airbridge trackEventWithCategory:@"purchase_card" semanticAttributes:@{} customAttributes:@{@"userRank" : @"1", @"itemType" : @"sword"}];let event = ABInAppEvent() event?.setCategory("purchase_card") let customs: [String: Any] = [ "userRank": "1", "itemType": "sword",]event?.setCustoms(customs) event?.send()ABInAppEvent *event = [[ABInAppEvent alloc] init]; [event setCategory:@"purchase_card"];NSDictionary *customs = @{@"userRank" : @"1", @"itemType" : @"sword"};[event setCustoms:customs]; [event send];let event = ABInAppEvent() event?.setCategory("purchase_card") let customs: [String: Any] = [ "userRank": "1", "itemType": "sword",]event?.setCustoms(customs) event?.send()ABInAppEvent *event = [[ABInAppEvent alloc] init]; [event setCategory:@"purchase_card"];NSDictionary *customs = @{@"userRank" : @"1", @"itemType" : @"sword"};[event setCustoms:customs]; [event send];airbridge.events.send("purchase_card", { "customAttributes": { "userRank": "1", "itemType": "sword" }})어트리뷰트로 수집한 데이터에 따라 아래 제한사항이 적용됩니다.
시맨틱 어트리뷰트의 데이터 형식에 맞지 않는 이벤트는 수집되지 않습니다. 시맨틱 어트리뷰트마다 데이터 형식이 다르기 때문에 주의해야 합니다.
시맨틱 어트리뷰트로 수집한 데이터가 최대 허용 길이를 벗어나면 최대 길이까지만 데이터를 수집합니다. 최대 허용 길이는 string은 1024자, integer나 float은 64비트입니다.
커스텀 어트리뷰트의 최대 허용 길이는 2048입니다. 이 길이를 초과하면 ERROR_MAX_LENGTH_EXCEEDED로 기록됩니다.
트리거는 에어브릿지 이벤트를 수집하는 시점입니다. 이벤트를 수집하는 시점에 따라 동일한 에어브릿지 이벤트가 다르게 집계될 수 있습니다. 예를 들어 구매 완료 이벤트를 구매 버튼을 클릭하는 시점에 수집하면 잔액 부족과 같은 이유로 구매가 실패해도 구매 완료 이벤트로 집계됩니다. 구매 완료 이벤트를 구매 완료 페이지가 나오는 시점에 수집하면 더 정확하게 구매 완료 이벤트를 수집할 수 있습니다.
구성요소 | 필수 여부 | 형식 | 조회 가능 범위 | 설명 |
|---|---|---|---|---|
카테고리 | 필수 | string | · 에어브릿지 리포트 · 원본 데이터 | · 에어브릿지 이벤트 이름으로 사용됩니다. · 광고 채널에 전송하는 포스트백의 선택 기준입니다. · 에어브릿지 리포트와 원본 데이터에서 확인할 수 있습니다. |
액션, 라벨 | 선택 | string | · 에어브릿지 리포트 · 원본 데이터 | · 이벤트와 관련한 추가 속성입니다. 최대 2개까지 수집할 수 있습니다. · 에어브릿지 리포트에서 확인할 수 있습니다. |
밸류 | 선택 | float | · 에어브릿지 리포트 · 원본 데이터 | · 이벤트와 관련한 숫자 속성입니다. · 밸류로 수집된 숫자만 계산에 활용할 수 있습니다. |
어트리뷰트 | 선택 | · 원본 데이터 | · 액션, 라벨 외 이벤트와 관련한 추가 속성입니다. · 원본 데이터에서만 확인할 수 있습니다. | |
트리거 | 필수 | - | · 에어브릿지 이벤트를 수집하는 시점입니다. |
카테고리 | 액션 | 라벨 | 밸류 |
|---|---|---|---|
| 의류 | 상의 | 10,000 |
| 의류 | 하의 | 20,000 |
이름 | 데이터 형식 | 키 | 설명 |
|---|---|---|---|
Currency | string |
| 에어브릿지에 설정한 환율 기준 3자리 국가 통화 코드. |
Product List | array |
| 상품 리스트. 예시를 확인해 주세요. |
Product ID | string |
| 제품 리스트에 있는 첫 번째 상품의 ID. |
Product Name | string |
| 상품 리스트에 있는 첫 번째 상품의 이름. |
Product Price | float |
| 상품 리스트에 있는 첫 번째 상품의 가격. 음수를 지원합니다. 환불 또는 교환에 사용할 수 있습니다. |
Product Quantity | int |
| 상품 리스트에 있는 첫 번째 상품의 개수. |
Product Currency | string |
| 상품 리스트에 있는 첫 번째 상품의 가격에 사용하는 3자리 화폐 단위. |
Product Position | int |
| 상품 리스트에 있는 첫 번째 상품이 있는 위치. |
Product Category ID | string |
| 상품 리스트에 있는 첫 번째 상품이 포함된 카테고리 ID. |
Product Category Name | string |
| 상품 리스트에 있는 첫 번째 상품이 포함된 카테고리 이름. |
Product Brand ID | string |
| 상품 리스트에 있는 첫 번째 상품의 브랜드 ID. |
Product Brand Name | string |
| 상품 리스트에 있는 첫 번째 상품의 브랜드 이름. |
Period | string |
| 기간. ISO 8601 형식입니다. 예시) P7D, P1M, P6M, P1Y |
Is Renewal Event | boolean |
| 갱신 여부. |
Renewal Count | int |
| 갱신 횟수. |
Product List ID | string |
| 상품 리스트 ID |
Cart ID | string |
| 장바구니 ID |
Transaction ID | string |
| 거래 ID |
Transaction Type | string |
| 거래 유형. 각 고객사가 설정한 거래 유형을 제공합니다. 단, 거래가 취소되면 항상 cancel로 기록됩니다. |
Transaction Paired Event Category | string |
| 거래 관련 이벤트의 카테고리. 구매 취소 이벤트가 발생하면 관련 구매 이벤트의 정보를 확인할 수 있습니다 |
Transaction Paired Event Timestamp | int |
| 거래 관련 이벤트가 발생한 시각. 13자리 타임스탬프(ms)입니다 |
Total Quantity | int |
| 전체 수량. 별도로 정의하지 않아도 상품 리스트에서 수집한 수량의 합계가 자동으로 수집됩니다. |
Search Query | string |
| 유저가 요청한 쿼리 |
In App Purchased | boolean |
| 인앱 구매 여부 - true: 인앱 구매입니다. - false: 인앱 구매가 아닙니다. |
Contribution Margin | float |
| 에어브릿지에 설정한 환율 기준 공헌이익 매출액. 공헌이익 매출액은 구매액에서 변동비를 제외한 금액입니다. 에어브릿지에서 계산하지 않습니다. |
List ID | string |
| 리스트 ID |
Rate ID | string |
| 평점 ID |
Rate | float |
| 평점 |
Max Rate | float |
| 최고 평점 |
Achievement ID | string |
| 과제 ID |
Shared Channel | string |
| 공유 채널 |
Date Time | string |
| 날짜와 시간. ISO-8601 형식입니다. |
Description | string |
| 상세 설명 |
Is Revenue Event | boolean |
| 매출 관련 이벤트 여부 - true : 매출과 관련된 이벤트입니다. - false : 매출과 관련된 이벤트가 아닙니다. |
Place | string |
| 장소 |
Schedule ID | string |
| 일정 ID |
Type | string |
| 유형 |
Level | string |
| 레벨 |
Score | float |
| 점수 |
도움이 되었나요?