我想我可能只是把事情复杂化了,而不是保持简单。
我的问题是:我想将一篇博文的标题捕获到一个prop变量中,并将它的作者捕获到另一个prop变量中。
我的想法是创建一个只关注 /blog 路径的页面加载规则。从那里我会抓取页面寻找定义它的类,然后通过 DTM 将它传递到我的道具中。
<div class="field field-name-title">
<h2>Online Education</h2>
<div class="field field-name-body">
<p>
<em> by Author Name</em>
</p>
</div>
</div>
我创建了一个页面规则选择我的道具并将其设置为:
div.field.field-name-title.innerText
但是当我设置它时,我所看到的只是“div.field.field-name-title.innerText”
我是不是以错误的方式解决了这个问题?
您在文本字段中输入的值是文字,但
%data_element%
语法除外,它表示对 Data Element 的引用(还有一些其他内置变量引用)。
要点是,如果您想从抓取的页面内容中填充 Adobe Analytics 变量,您需要创建一个返回所需值的 Data Element,然后在 Adobe Analytics 变量的文本字段中引用该 Data Element .
除此之外,您的选择器是错误的。你所做的是 css 选择器和 javascript 语法的奇怪组合。
以下是根据您发布的 HTML 可以执行的操作的示例:
<div class="field field-name-title">
<h2>Online Education</h2>
<div class="field field-name-body">
<p>
<em> by Author Name</em>
</p>
</div>
</div>
数据元素:文章标题
首先,根据您的 html 结构,创建一个 Data 元素 以从页面获取文章标题。
转到规则
>
数据元素>
创建新数据元素
使用以下内容填写字段:
article_title
CSS Selector
div.field-name-title h2
text
[X]
使用 cleanText 擦除空格和换行符然后,单击保存更改
数据元素:文章作者
接下来,根据您的 html 结构,创建另一个 Data 元素 以从页面获取文章作者。
转到规则
>
数据元素>
创建新数据元素
使用以下内容填写字段:
article_author
CSS Selector
div.field-name-body em
text
[X]
使用 cleanText 擦除空格和换行符然后,单击保存更改
页面加载规则:填充变量
最后,在 Page Load Rule 的各种表单字段中,您现在可以使用 %data_element_name%
语法引用
Data Elements。
提示: 一旦您开始输入 Data Element 名称(以
%
前缀开头),DTM 将显示一个自动完成对话框,列出匹配的 Data Elements。
如果您需要在页面加载规则中的 javascript 自定义代码框中引用数据元素,您可以使用以下语法:
_satellite.getVar('data_element_name');
'data_element_name'
是您的Data Element 的名称。
例子:
s.prop1 = _satellite.getVar('article_title');
注意: 与表单字段语法不同,您应该不用
%
包裹数据元素的名称