Как получить список кампаний и целей, сработавших во время сеанса Sitecore? - PullRequest
1 голос
/ 23 ноября 2011

У меня проблемы с поиском посетителей, которые связываются с нами через контактную форму нашего сайта.Форма собирает основную информацию, но было бы неплохо включить некоторые данные Sitecore Analytics в тело письма, чтобы помочь нарисовать большую картину.

Для этого мне нужно каким-то образом получить все кампании и цели.сработало во время текущего сеанса.

API Sitecore предоставляет удобные методы для «запуска» целей и кампаний, но я не могу найти какие-либо методы для извлечения того, что было запущено для текущего сеанса.Я хотел бы, по возможности, избегать прямого обращения к базе данных OMS.

Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 22 октября 2014

Я не мог заставить предложенный ответ работать, но я нашел решение, которое делает!Это должно быть актуально для Sitecore с 6.5 по 7.2 (не уверен около 7.5 и выше).Вы можете получить доступ к кампаниям через объект Sitecore.Analytics.Tracker.DataContext.

Объединяя эти знания с ответом Стивена Папы, мы получаем:

using System.Linq;
using Sitecore.Analytics;

// won't be null if a campaign was triggered
if (!Tracker.CurrentVisit.IsCampaignIdNull())
{
    var campaign = Tracker.DataContext.Where(x => x.ID.Guid == Tracker.CurrentVisit.CampaignId).FirstOrDefault();

    if (campaign != null)
    {
        // do stuff with the campaign here
        var name = campaign.Title;
    }
}

Я также позаботился о том, чтобы получить тип трафика кампании, которыйВы можете сделать так:

var trafficType = campaign.SelectTrafficType.TargetItem.Name;
0 голосов
/ 23 ноября 2011

Вы можете покопаться в объекте VisitorDataSet, возвращенном из Tracker.CurrentVisit, вы сможете получить некоторые полезные свойства и затем извлечь соответствующие данные.

Это, например, должно получитьвам кампания, возвращенная текущим посещением (если есть соответствующая кампания)более подробно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...