データ参照の使用
データ参照を使用して、コンタクト、訪問者またはカスタム・オブジェクトのデータを取得できます。データ参照をWebサイトに実装すると、コンタクトや訪問者の情報を使用してWebページをパーソナライズできます。
Webデータ参照を使用すると、次のことができます。
- 訪問者プロファイル・データに基づいて様々なWebページを表示する
- Eメール・グループに属するコンタクトに特定のWebページを表示する
- サイトの特定の部分へのアクセスを既知のコンタクトに許可する
- フォームに情報を事前移入する
データ参照を実装するには、次のことが必要です。
- Oracle Eloquaで、新しいデータ参照を作成します。Webデータ参照を呼び出すには、データ参照キーが必要です。
- Oracle Eloquaトラッキング・スクリプトがWebページに実装されていることを確認します。
ヒント: Oracle Eloquaによって生成されるサンプル・コードをデータ参照の実装に役立てることができます。サンプル・コードを表示するには、データ参照をオープンし、「データ参照オプション」 > 「データ参照スクリプトの取得」をクリックします。データ参照の作成の詳細を参照してください。
Webページへのコンタクト・データの書込み
次に、コンタクト・データ参照から取得したコンタクト・データをWebページに書き込む方法について説明します。
div
がページに配置され、データ参照から返されるコンタクト詳細がここに移入されます。
<div id="contactinfo">
<!-- contact info will be added here -->
</div>
JavaScript関数によって、取得されたデータを含む段落要素が動的に作成され、前述のdiv
に配置されます。
function CreateRow(label, value) {
var p = document.createElement('p');
var b = document.createElement('b');
p.appendChild(b);
b.appendChild(document.createTextNode(label));
p.appendChild(document.createTextNode(value));
document.getElementById('contactinfo').appendChild(p);
}
コールバック関数SetElqContent
を使用して、参照からデータが返されます。関数名は重要で、SetElqContent
という関数である必要があります。返されるデータは、データ参照がどのように設定されているかによって異なります。次の例では、コンタクト・データが返されます。
function SetElqContent() {
CreateRow('Contact Info: ', GetElqContentPersonalizationValue(''));
CreateRow('First Name: ', GetElqContentPersonalizationValue('C_FirstName'));
CreateRow('Last Name: ', GetElqContentPersonalizationValue('C_LastName'));
CreateRow('Email Address: ',GetElqContentPersonalizationValue('C_EmailAddress'));
CreateRow('Salesperson: ', GetElqContentPersonalizationValue('C_Salesperson'));
CreateRow('Company: ', GetElqContentPersonalizationValue('C_Company'));
CreateRow('Address 1: ', GetElqContentPersonalizationValue('C_Address1'));
CreateRow('City: ', GetElqContentPersonalizationValue('C_City'));
CreateRow('State or Province: ',GetElqContentPersonalizationValue('C_State_Prov'));
CreateRow('Zip or Postal Code: ',GetElqContentPersonalizationValue('C_Zip_Postal'));
CreateRow('Business Phone: ', GetElqContentPersonalizationValue('C_BusPhone'));
CreateRow('Country: ', GetElqContentPersonalizationValue('C_Country'));
CreateRow('Industry: ', GetElqContentPersonalizationValue('M_Industry1'));
CreateRow('Revenue: ', GetElqContentPersonalizationValue('M_Revenue1'));
CreateRow('Website: ', GetElqContentPersonalizationValue('M_WebSite1'));
CreateRow('Date Created: ',GetElqContentPersonalizationValue('M_DateCreated'));
}
Oracle Eloquaサーバーにデータ参照を要求する_elqQ.push()
が呼び出されます。
_elqQ.push(['elqDataLookup', escape('<Data_Lookup_Key>'), '<Data_Lookup_Criteria>']);
Data_Lookup_Key
は、データ参照を作成したときに生成されたグローバル一意識別子(GUID)です。これを取得するには、Oracle EloquaでWebデータ参照をオープンします。Data_Lookup_Criteria
(必要な場合)は、コンタクトまたは訪問者を識別するために設定した基準です。たとえば、Eメール・アドレス<C_EmailAddress>user@example.com</C_EmailAddress>
などです。データ参照の作成の詳細を参照してください。
すべてをまとめると、次のようになります。
<html>
<head>
<script type="text/javascript">
var _elqQ = _elqQ || [];
_elqQ.push(['elqSetSiteId', '123']);
_elqQ.push(['elqTrackPageView']);
(function () {
function async_load() {
var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true;
s.src = '//img.en25.com/i/elqCfg.min.js';
var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);
}
if (window.attachEvent) { window.attachEvent('onload', async_load); }
else { window.addEventListener('DOMContentLoaded', async_load, false); }
})();
</script>
<script type="text/javascript">
function CreateRow(label, value) {
var p = document.createElement('p');
var b = document.createElement('b');
var label = document.createTextNode(label);
var value = document.createTextNode(value);
p.appendChild(b);
b.appendChild(label);
p.appendChild(value);
document.getElementById('contactinfo').appendChild(p);
}
function SetElqContent() {
CreateRow('Contact Info: ', GetElqContentPersonalizationValue(''));
CreateRow('First Name: ', GetElqContentPersonalizationValue('C_FirstName'));
CreateRow('Last Name: ', GetElqContentPersonalizationValue('C_LastName'));
CreateRow('Email Address: ', GetElqContentPersonalizationValue('C_EmailAddress'));
CreateRow('Salesperson: ', GetElqContentPersonalizationValue('C_Salesperson'));
CreateRow('Company: ', GetElqContentPersonalizationValue('C_Company'));
CreateRow('Address 1: ', GetElqContentPersonalizationValue('C_Address1'));
CreateRow('City: ', GetElqContentPersonalizationValue('C_City'));
CreateRow('State or Province: ', GetElqContentPersonalizationValue('C_State_Prov'));
CreateRow('Zip or Postal Code: ', GetElqContentPersonalizationValue('C_Zip_Postal'));
CreateRow('Business Phone: ', GetElqContentPersonalizationValue('C_BusPhone'));
CreateRow('Country: ', GetElqContentPersonalizationValue('C_Country'));
CreateRow('Industry: ', GetElqContentPersonalizationValue('M_Industry1'));
CreateRow('Revenue: ', GetElqContentPersonalizationValue('M_Revenue1'));
CreateRow('Website: ', GetElqContentPersonalizationValue('M_WebSite1'));
CreateRow('Date Created: ', GetElqContentPersonalizationValue('M_DateCreated'));
}
_elqQ.push(['elqDataLookup', escape('434C5E6250C04FCBB0D4FC5413F9A40A'), '
<C_EmailAddress>user@example.com</C_EmailAddress>']);
</script>
</head>
<body>
<div id="contactinfo">
</div>
</body>
</html>