이 예에서는 뉴스레터를 열었지만 포함된 링크를 클릭하지 않은 프로필 이름이 포함된 연산자에 경고를 전송하려고 합니다.
프로필의 이름 필드와 성 필드는 Recipients 타깃팅 차원에 연결되어 있는 반면 Alert 활동은 Operator 타깃팅 차원에 연결됩니다. 따라서 조정을 수행하고 첫 번째 및 성 필드를 검색하고 경고 활동에 표시할 두 타깃팅 차원 사이에 사용할 수 있는 필드가 없습니다.
이 프로세스는 다음과 같이 워크플로우를 구축하는 것입니다.
아래 코드를 JavaScript code 활동에 추가합니다.
var query = xtk.queryDef.create(
<queryDef schema="temp:query" operation="select">
<select>
<node expr="[target/recipient.@firstName]"/>
<node expr="[target/recipient.@lastName]"/>
</select>
</queryDef>
);
var items = query.ExecuteQuery();
Javascript 코드가 워크플로우 정보에 해당하는지 확인합니다.
이러한 정보를 검색하려면 아래 단계를 따르십시오.
Query 활동에서 아웃바운드 전환을 마우스 오른쪽 단추로 클릭한 다음 Display the target 을 선택합니다.
목록을 마우스 오른쪽 단추로 클릭한 다음 Configure list을 선택합니다.
쿼리 타깃팅 차원 및 필드 이름이 목록에 표시됩니다.
아래 코드를 Test 활동에 추가하여 타깃팅된 모집단에 프로필이 하나 이상 포함되어 있는지 확인합니다.
var.recCount>0
모집단 이 원하는 필드가 있는 인스턴스 변수에 추가되었으므로 이러한 정보를 Alert 활동에 추가할 수 있습니다.
이렇게 하려면 아래 코드를 Source 탭에 추가하십시오.
<ul>
<%
var items = new XML(instance.vars.items)
for each (var item in items){
%>
<li><%= item.target.@firstName %> <%= item.target.@lastName %></li>
<%
} %></ul>
<%= item.target.recipient.@fieldName %> 명령을 사용하면 JavaScript code 활동을 통해 인스턴스 변수에 저장된 필드 중 하나를 추가할 수 있습니다.
JavaScript 코드에 삽입된 한 원하는 만큼 필드를 추가할 수 있습니다.