We were already able to register search keywords via

var pageEventData = new PageEventData(name, definitionId)
        Data = data,
        Text = text


But what we now need is to know which page the keyword was entered on since we have a couple of search result pages that cater to the specific page types.

Where should I begin with this implementation? I was planning to have an additional column on the Internal Search table that shows the page’s name

With that said, would placing an ItemId in the PageEvent object already suffice? How will I access it then? When I checked the SearchMetric table I didn’t see any ItemId column in its schema. Or do I have to create a new dimension altogether and create a new analytics report out of it?

1 Answer 1


Sitecore.Analytics.Model.PageEventData class already has ItemId property that corresponds to the ID of a page item where your event occurred or a media item your event was associated with. Therefore, placing the ItemId to your PageEventData object will be sufficient.

Reporting-wise, if you want to report on a dimension that Sitecore does not report on by default then you can always create your own dimension and collect metrics for it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.