Sitecore OMS - достижение цели при отправке формы - PullRequest
2 голосов
/ 16 мая 2011

Я унаследовал решение Sitecore с подуровнем, который содержит сложную форму ASP.NET ascx, которая обрабатывает как платежи, так и интеграцию со сторонними веб-службами.

Этот подслой использует шаблоны параметров , чтобы обеспечить некоторый уровень контроля над тем, как выглядит форма.

Элемент управления .ascx содержит несколько представлений:

  • При первом просмотре пользователь заполняет формы и нажмите Далее.
  • Во втором представлении пользователь может просмотреть введенные данные перед нажав кнопку ОТПРАВИТЬ.
  • Третий вид - страница с благодарностью формы.

Если я хочу создать цель для отправки этой формы, должен ли я ставить цель как «достигнутую» через API при отправке самой формы? Должен ли я добавить имя цели в качестве одного из шаблонов параметров, чтобы редакторы по маркетингу могли изменить его, если это необходимо?

Спасибо

Ответы [ 2 ]

3 голосов
/ 17 мая 2011

Да, вы можете установить цель как достигнутую, используя метод AnalyticsTracker.TriggerEvent в соответствующей точке рабочего процесса вашей формы.Поместить имя цели в качестве параметра шаблона - отличная идея.Еще лучше использовать дроплинк и указать источник на / sitecore / system / Marketing Center / Goals /.

РЕДАКТИРОВАТЬ

См. Справочник по настройке аналитики о том, как программно «зарегистрировать событие страницы аналитики».

2 голосов
/ 17 мая 2011

У вас есть несколько возможностей:

  1. У большинства форм есть страница подтверждения, когда все отправлено и утверждено. Вы можете прикрепить событие к этой странице через обычный пользовательский интерфейс. Для этого не требуется никакого специального кода, и он готов к применению.

  2. Как вы говорите, вы можете сделать это с помощью кода. Это довольно просто и должно выглядеть примерно так:

    public void RegisterEvent () { if (! AnalyticsTracker.IsActive) возвращение;

    AnalyticsTracker tracker = AnalyticsTracker.Current;

    if (tracker == null || tracker.CurrentPage == null) вернуться;

    AnalyticsPageEvent pageEvent = new AnalyticsPageEvent () { Name = "TheNameOfYourEvent", Key = "TheKeyOfTheEvent", Text = "SomeText", Данные = «Данные события могут содержать всю введенную информацию, если хотите», };

    tracker.CurrentPage.TriggerEvent (pageEvent); tracker.Submit (); }

Если вы жестко закодируете событие или сделаете его переменным, зависит от того, нужно ли вам часто менять событие.

Первый вариант является наиболее простым, но если вы также хотите интегрировать в CRM и сохранять вводимые пользователем данные, вам может потребоваться вариант 2, поскольку вы также можете хранить данные профиля.

Надеюсь, это поможет!

...