2016-10-02 89 views
0

我試圖找出如何捕捉Adobe Marketing Cloud ID(MID)時,頁面第一次加載使用數據元素(或通過任何替代方法將工作)。如果Marketing Cloud Cookie已經存在,我的數據元素邏輯工作正常。如果沒有營銷雲的Cookie已經存在,我的數據元素讀取營銷雲ID的Cookie,因爲它被寫入,但MID並不在數據元素讀它的時候cookie的填充。以前未使用DTM設置Cookie時,獲取Adobe Marketing Cloud ID?

有什麼方法可以訪問該值並在初始頁面加載的eVar中報告它?實際上,我將MID與其他值結合以創建eVar值。如上所述,我的代碼工作除非Marketing Cloud ID不存在,並且必須在頁面加載期間創建。

回答

1

您可以使用Visitor.getInstance()得到Visitor實例,然後再Visitor.getMarketingCloudVisitorID()得到MC ID(你在mid= PARAM見)

例如:

var visitor = Visitor.getInstance("[mcorgid]@AdobeOrg") 
s.eVar1 = visitor.getMarketingCloudVisitorID(); // set v2 with mid= value 

如果您實施了MC ID服務作爲DTM工具,您也可以使用_satellite.getVisitorId(),而不是Visitor.getInstance(),如:

s.eVar1 = _satellite.getVisitorId().getMarketingCloudVisitorID(); 

因此,對於你數據元素,而不是做一個Cookie類型(我認爲這是你做了什麼),你將需要使用自定義腳本類型和返回值,例如

try { 
    return _satellite.getVisitorId().getMarketingCloudVisitorID(); 
} catch(e) {console.log(e);} 

(更新)替代

從下面的評論(我的粗體強調):

只是要清楚,這只是發生在我身上的第一頁時, Marketing Cloud Cookie不存在。 我確實在服務器 上看到MID的調用。

既然你已經證實,AA越來越而不是嘗試它的實際價值推到你的EVAR在其請求的mid=值,你可以通過其他方式間接地彈出它。

動態變量

dynamic variable語法引用mid= PARAM:

s.eVar1 = "D=mid"; 

注:D=是默認dynamic variable prefix語法。檢查你的AA工具配置/其他自定義代碼,以確保它沒有被設置爲其他東西。

處理規則

如果您有權創建的處理規則,你可以設置一個處理規則設置你的EVAR到mid=價值在那裏。

+0

-so你是說你即使Markting Cloud ID Cookie沒有MID可用,這個信息也會被提供給數據元素嗎?謝謝。 –

+0

我嘗試了上述方法,但我遇到了同樣的問題。 _satellite.getVisitorId()返回沒有值。getMarketingCloudVisitorID();如果我點擊一個頁面並且我的cookies已被清除。我認爲這是MID尚未生成的時機問題? –

+0

@MichaelJohns所以要清楚的是,您將MC ID服務實施爲DTM *工具*,對嗎? –