В WFFM есть опция, чтобы, когда кто-то отказывался от формы, любые данные, которые были введены в самой форме, записывались и должны быть доступны через Отчет о выпадении.Sitecore Web Forms для маркетологов и DMS - не записи кампаний, целей и информации о выезде
У меня есть WFFM, для которого я включил Google Analytics и включил функцию отсева. К сожалению, я не вижу никаких данных, записываемых в БД, и отчет о выпадении видим, но пуст.
Я вижу из кода javascript, включенного в папку WFFM, что серия вызовов AJAX должна сохранять поля при размывании событий - с вызовами/sitecore modules/web/Web Forms для маркетологов/Tracking.aspx
Я пробовал отлаживать код Javascript, но метод, который должен размещать информацию в/sitecore modules/web/Web Forms для Marketers/Tracking.aspx, никогда не вызывается. Можете ли вы придумать какие-либо причины для того, чтобы этот код не работал? Кроме того, кто-нибудь знает, какая таблица должна быть записана? Это таблица полей в базе данных WFFM?
Наконец, хотя я включил аналитику в этой конкретной форме WFFM, и я связал кампанию и цель представления формы, ни одна из них не записывается. Я вижу, что данные, введенные в форму, сохраняются успешно и отображаются в отчете данных, но информация о Кампании или цели не записывается в БД.
Я даже проверил вручную непосредственно в управлении DMS DB:
select top 10
p.DateTime, p.UrlText, cp.CampaignName
,i.Url, vi.VisitId
from pages p
inner join ItemUrls i on p.ItemId = i.ItemId
inner join Visits vi on vi.VisitId = p.VisitId
inner join GeoIps g on vi.Ip = g.Ip
left join Campaigns cp on cp.CampaignId = vi.CampaignId
order by p.DateTime desc
Это один показывает, что страница, на которой визуализируется форма является хитом, но кампания не связана с визитом.
Тогда я попробовал следующее:
select pe.datetime, ped.Name, pg.UrlText from PageEvents pe
inner join PageEventDefinitions ped on ped.PageEventDefinitionId = pe.PageEventDefinitionId
inner join Pages pg on pg.PageId = pe.PageId
order by pe.DateTime desc
Но я не вижу никакой записи для этой конкретной кампании, ни для цели (в то время как я вижу записи для других кампаний и целей, связанных с не-WFFM Sitecore пунктов)
Любой совет будет рад!
Спасибо,
Франческо
EDIT
sc.webform.js файл содержит этот метод:
_create: function() {
var self = this,
options = this.options;
if (options.tracking) {
this.element.find("input[type!='submit'], select, textarea")
.bind('focus', function (e) { self.onFocusField(e, this) })
.bind('blur change', function (e) { self.onBlurField(e, this) });
this.element.find("select")
.change(function() { $scw.webform.controls.updateAnalyticsListValue(this) });
this.element.find("input[type='checkbox'], input[type='radio']")
.click(function() { $scw.webform.controls.updateAnalyticsListValue(this) });
}
this.element.find(".scfDatePickerTextBox").each(function() { $scw.webform.controls.datePicker(this) });
},
Это, как предполагается, будет называться по форме на Инициализация виджета sc.webform. Он должен связывать события смены фокуса и размытия для всех полей ввода, падений и текстовых областей. К сожалению, когда я пытался поставить точку останова внутри этого метода, он никогда не вызывается.
ВТОРОЙ EDIT
Интересно. Я понял, что все это должно начинаться с этой строки Javascript кода, встроенного в страницу, содержащую форму WFFM:
<script type="text/javascript">
$scwhead.ready(function() {
$scw('#form_A8BF483419174F97A2830E12CBCF7E4F').webform({formId: "{A8BF4834-1917-4F97-A283-0E12CBCF7E4F}",pageId: "{21C24144-B964-4FBA-8388-D9B90EBBC17C}",eventCountId: "pagecolumns_0_columncontent_0_bottomrow_0_form_A8BF483419174F97A2830E12CBCF7E4F_form_A8BF483419174F97A2830E12CBCF7E4F_eventcount",tracking: true})
});
</script>
После того, как я поставил точку останова здесь, я, наконец, смог проследить в метод _create jQuery.Виджет пользовательского интерфейса, определенный в sc.webform.js. Код, который вызывает _create, фактически находится внутри библиотеки jQuery.UI. У Kinda есть смысл, не так ли?
Наконец, код внутри _create выполняется, то размытость события связаны с TrackEvents метод, также определены в виджете:
_trackEvents: function(events) {
$scw.ajax({
type: 'POST',
url: "/sitecore modules/web/Web Forms for Marketers/Tracking.aspx" + location.search,
data: {track: JSON.stringify(events)},
dataType: 'json'
});
Что не имеет смысла в том, что сейчас, хотя я могу, наконец, увидеть, как trackEvents вызывается всякий раз, когда я ввожу из поля в поле в форме WFFM (почему он не работал до того, как он стал мне мистером), я не вижу никаких данных, записанных в БД WFFM. Я даже попробовал быстрый запрос в БД:
select f.Timestamp, f.StorageName, fi.Value, fi.FieldName
from Form f
inner join Field fi on f.Id = fi.FormId
order by f.Timestamp desc, FieldName
Кто-нибудь знает, где Tracking.aspx предполагается сохранить захваченные информацию поля?
Вы правильно установили модуль WFFM? Можете ли вы подтвердить, что сам DMS работает через отчеты аналитики? –
Mark, DMS 2.0 работает нормально. Если я добавляю кампании и цели на любую другую страницу, отличную от формы WFFM, они записываются просто отлично. Мы только что обновили с Sitecore 6.2 до 6.5 и установили DMS 2.0 (у нас был OMS, но он не использовался, поэтому мы по существу установили DMS 2.0 с нуля). Мы также обновили WFFM до последней версии. WFFM работает в том смысле, что он записывает контент в БД при отправке формы и выполняет различные действия по отправке (т. Е. Сохранять в CRM и т. Д.).То, что не работает, связано только с DMS, по крайней мере, это то, что кажется до сих пор ... –