WFFMでは、フォームを放棄すると、フォーム自体に入力されたすべてのデータが記録され、ドロップアウトレポートマーケターとDMSのためのSitecore Webフォーム - キャンペーン、目標、ドロップアウト情報を記録しない
私はAnalyticsをオンにし、ドロップアウト機能を有効にしたWFFMを持っています。残念ながら私はDBに記録されているデータは一切表示されず、ドロップアウト・レポートは表示されますが空です。
WFFMフォルダに含まれるJavaScriptコードから、一連のAJAX呼び出しがblurイベントのフィールドを保存することになっていることがわかります。/ sitecore modules/web/Web Forms for Marketingers/Tracking.aspx
Javascriptコードをデバッグしようとしましたが、マーケティング担当者/ Tracking.aspxの/ sitecoreモジュール/ web/Webフォームに情報を投稿するはずのメソッドは呼び出されません。このコードが動作しない理由は何ですか?また、誰がこの情報が記録されるはずのテーブルを知っていますか? WFFM DBのフィールドテーブルですか?
最後に、この特定のWFFMフォームでアナリティクスを有効にしていて、キャンペーンと目標をフォームの提出に関連付けましたが、いずれも記録されていません。フォームに入力されたデータが正常に保存され、データレポートに表示されていますが、キャンペーンや目標に関する情報はDBに記録されていません。
私も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
この1つは、フォームがレンダリングされたページがヒットされていることを示しているが、何のキャンペーンが訪問に関連付けられていません。
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サイトコアの項目に関連する他のキャンペーンとの目標のためのエントリを参照しながら、私は(この特定のキャンペーンのためにも、目標のいずれかのエントリが表示されない:
は、それから私は、次のことを試してみました)
アドバイスをいただければ幸いです!
おかげで、
フランチェスコ
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ウィジェットの初期化。これは、すべての入力フィールド、ドロップダウン、およびテキスト領域のフォーカスおよびブラー変更イベントをバインドする必要があります。残念ながら、このメソッドの中にブレークポイントを置くと、決して呼び出されません。
SECOND EDIT
興味深いです。私は、全体の事はWFFMフォームを含むページに埋め込まれたJavaScriptコードのこの行から開始することを考え出し:
<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で定義されたUIウィジェット。 _createを呼び出すコードは、実際にはjQuery.UIライブラリの内部にあります。あなたは理にかなっていますよね?
最後に、 _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'
});
、私は最終的に私がWFFM形式でフィールドからフィールドにタブするたびにtrackEventsが呼び出されるのを見ることができます(なぜ私はミステリーの前に働いていなかったのですか)、WFFM DBに記録されたデータは表示されません。私もDBでの迅速なクエリを試してみました:
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は、フォームが送信されたときにDBにコンテンツを記録し、送信時にさまざまなアクションを実行する(つまり、CRMに保存するなど)という意味で機能しています。実際に動作していないものはDMSのみに関連しています。少なくともこれはこれまでのようです... –