menu
Is this helpful?

# 갱신 가능 이벤트

본 문서에서는 TE 시스템의 특별한 데이터 구조인 갱신 가능 이벤트의 사용 방법을 소개합니다. 갱신 가능 이벤트는 특별한 이벤트 데이터, 데이터 내의 이벤트 속성 값을 갱신할 수 있으며, 가변 상태 값 또는 가변 누적 값을 포함하는 이벤트 데이터(※예: 비용 이벤트 등)를 기록하는 데 적합하며, 시간이 지남에 따라 속성 지불 금액을 갱신할 수 있습니다.

WARNING

갱신 가능 이벤트의 저장 및 처리 성능 오버헤드가 크며, 데이터 처리의 효율성과 쿼리 성능을 보장하기 위해, 이벤트 양이 적고 특수한 시나리오에서 강한 갱신 필요성이 있는 이벤트에만 적용할 수 없기 때문에, 매번 TE 스태프에게 문의해 주십시오.

# 데이터 구성

TE 클라이언트 SDK 또는 서버 SDK를 사용하면, 해당 SDK의 접근 가이드가 표시되며, 가이드의 "갱신 가능 이벤트" 및 "콜백 가능한 이벤트" 장에서 자세한 인터페이스 호출 방법

「갱신 가능 이벤트」 기능을 사용하기 위해서는 데이터 내에서 두 가지 조정이 필요합니다

  1. 데이터 타입을 식별하는 필드#type에 설정track_update하거나track_overwrite합니다. 이 2가지 데이터 타입은 각각, 2가지 이벤트의 갱신 방법을 나타냅니다. 부분 속성의 갱신과 모든 속성의 재작성입니다.
  2. 필드를 추가#event_id, 속성을 갱신하면, #event_name#event_id에 해당하는 이벤트 데이터를 검색하고, 데이터를 갱신합니다. 다른 이벤트의 #event_id는 서로 독립적이기 때문에, 갱신 가능 이벤트마다 고유한 식별자 체계

다음은 #event_id의 #event_id 위치에 주목할 수 있는 데이터 샘플입니다

{
  "#account_id": "ABCDEFG-123-abc",
  "#distinct_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
  "#type": "track_update",
  "#event_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
  "#time": "2020-08-18 14:37:28.527",
  "#event_name": "test_event",
  "properties": {
    "argString": "abc"
  }
}

# 데이터 처리 로직

갱신 가능 이벤트는, 처리 로직과 일반 이벤트 데이터에 큰 차이가 있나요?질문: ルール 답변: 룰의로 충분히 주의해 주십시오. 이벤트 데이터의#typetrack해당 데이터는 나중에 갱신 가능합니다.질문: ます 답변:. 이벤트 데이터의 #type 또는 track_overwrite 또는 track_overwrite, 갱신 가능 이벤트로 간주되며, 그 후에 두 종류의 데이터 중 어느 하나를 사용하여 속성을 갱신할 수 있습니다.

TE 시스템이 track_update 또는 track_overwrite을 수신한 경우, 처리 방법은 다릅니다. 여기에서는 이러한 두 가지 데이터 타입의 처리 로직에 대해 자세히 설명합니다.

# 2.1 트랙_업그레이드의 처리 로직

데이터의 #typetrack_update인 경우, 데이터의 처리 로직은 이벤트 속성에 갱신됩니다. 시스템이 이 타입의 데이터를 수신하면, #event_id 필드를 기준으로 해당하는 이벤트 데이터가 존재하는지 여부를 확인한 후, 존재한다면 해당 필드를 갱신합니다. 구체적인 처리 로직은 다음과 같습니다

  1. 이 이벤트에 #event_id#event_id에 해당하는 데이터가 존재하지 않는 경우, 이 데이터는 새로운 데이터로 간주되어 직접 저장됩니다.
  2. #event_id가 존재하는 경우, 새로운 수신 데이터의 이벤트 속성은 이전 값을 갱신하고, 새로운 속성이 존재하는 경우, 새로운 속성도 추가되며, 새로운 수신 데이터에 포함되어 있지 않은 속성은 갱신되지 않으므로, 갱신되는 속성의 수신만이 이루어집니다.
  3. 또한, #time 즉, 이벤트 시간도 새로운 데이터로 갱신되므로, 실제 사용 상황에 기반하여, 새로운 수신 데이터의 시간을 합리적으로 설정해 주십시오.

# 2.2 track_overwrite의 처리 로직

데이터의 #typetrack_overwrite인 경우, 데이터의 처리 로직은 이벤트로 재작성됩니다. 시스템이 이 타입의 데이터를 수신하면, #event_id 필드에 기초하여 해당하는 이벤트 데이터가 존재하는지 여부를 확인한 후, 존재한다면 해당 데이터를 삭제하고, 새로운 이벤트 데이터를 시스템에 기록합니다.(삭제된 데이터를 대체하는 것에 해당합니다).

  1. 이벤트 #event_id에 해당하는 데이터가 존재하지 않는 경우, 이 데이터는 새로운 데이터로 간주되어 직접 저장됩니다.
  2. #event_id이 존재하는 경우, 이 이벤트 데이터의 모든 내용이 덮어쓰여지며, 일부 속성을 업그레이드하는 경우는 track_update를 사용됩니다. track_update
  3. 또한, #time 즉, 이벤트 시간도 새로운 데이터로 갱신되므로, 실제 비즈니스 장면에 기초하여, 새롭게 수신된 데이터의 시간을 합리적으로 설정해 주십시오.

# 최적화 솔루션

# 광고 비용

광고 효과 분석에서는 대부분의 경우, 광고 비트와 소재의 ROI 입력/출력 비율, 즉 사용자 가치와 사용자 비용의 비율을 계산할 필요가 있습니다. 사용자의 가치, 즉 직접 지불과 다른 방법으로 가치를 창출하는 총액은, 기록하기 쉬운 비용 데이터는, 광고 전달 측의 데이터 룰에 의존하며, 일반적인 비용 금액은 지속적으로 업데이트되고, 일반적인 이벤트 데이터로 기록하기에는 적합하지 않습니다.

광고 비용 데이터는 지속적으로 변하기 때문에, 업데이트 가능한 데이터로 기록하는 것이 적합하며, 처음으로 광고 비용 데이터를 기록할 경우, 다음과 같은 데이터를 업로드할 수 있습니다.

{
  "#account_id": "admin",
  "#distinct_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
  "#type": "track_update",
  "#event_id": "2020-09-01_google_7-Tier1-0527_adset1_adname1",
  "#time": "2020-09-01 00:00:00.000",
  "#event_name": "ad_cost",
  "properties": {
    "channel": "google",
    "campaignid": "7-Tier1-0527",
    "adset": "adset1",
    "adname": "adname1",
    "cost": 100
  }
}

위 데이터는 #event_id 날짜, 채널, 이벤트 이름, 광고 그룹, 광고명의 스플라이스로 구성된 비용의 갱신 가능 이벤트를 추가합니다. 비용의 고유 ID로서, 논리적으로는 여기도 데이터의 비용 이벤트가 갱신 가능한 가장 세밀한 단위입니다. cost 필드는 이 타이밍에서의 광고 비용 100원을 기록합니다.

시간이 지남에 따라, 광고 배포 채널의 푸시는 새로운 비용 데이터를 푸시하고, 새로운 광고 비용이 200이라면, 다음과 같은 데이터를 전송할 수 있으며, 그 중의 #event_id은 이전 데이터와 일치해야 하며, 이전 데이터를 갱신하는 것을 나타냅니다. 갱신된 것은 cost 필드이며, 새로운 비용 값이 200으로 들어간 #time도 새로운 데이터로 갱신되어야 하므로, 여기서는 이전 데이터와 일치할 필요가 있으며, 비용의 날짜(타임 스탬프 타입으로 변환)가 들어옵니다. 다른 필드, 예를 들어 채널, 이벤트, 광고 비트는, 갱신할 필요가 없으므로, 데이터에 기입하지 않아도 문제 없습니다.

{
  "#account_id": "admin",
  "#distinct_id": "F53A58ED-E5DA-4F18-B082-7E1228746E88",
  "#type": "track_update",
  "#event_id": "2020-09-01_google_7-Tier1-0527_adset1_adname1",
  "#time": "2020-09-01 00:00:00.000",
  "#event_name": "ad_cost",
  "properties": {
    "cost": 200
  }
}

TE가 이 이벤트를 수신하면, 이 #event_id이 이미 존재하는지 여부를 요청 후 확인하고, 존재한다는 것이 확인될 경우, 원본 데이터(즉, 최초의 샘플 데이터)의 #timecost 필드를 갱신하고, 비용 이벤트의 비용 금액의 갱신 작업을 완료합니다.