A message from our CEO about the future of Stack Overflow and Stack Exchange. Read now.
20

After many days of research, I have determined it all boiled down to missing a step. Mistakes happen. Post Deployment Steps Once the deployment is complete, there are a few steps that you should take. Mandatory Steps Building Indexes Rebuild All Indexes from Control Panel Build Link Databases Rebuild the Link Databases from Control Panel Deploy ...


19

To answer your first question, yes, it is absolutely possible that the server fulfilling the Processing role is occupied leading to processing taking a back-seat. Having said that, 10 days is quite a long time so we first have to rule out that something else isn't at play. I would also hazard to say that it is highly unlikely that a single aggregation is ...


19

Maybe not an easter egg, but MainUtil class contains some "useful" methods like: My favorites: /// <summary>Returns false.</summary> /// <returns></returns> public static bool False() { return false; } /// <summary> /// Returns <c>true</c>. /// </summary> /// <returns></returns> public static ...


18

Cannot Create Tracker or Tracker.Current is Not Initialized - Common Fixes Your problem is that after changing the Analytics.Clustername, you are not ensuring that the hostname (which is really what ClusterName is) is resolvable. All Servers must be able to resolve the ClusterName by DNS. Either by a host file entry locally on the server or through a DNS ...


16

Hot to fix In Sitecore, go to Control Panel -> Deploy Marketing Definitions. Select "Campaigns". Click "Deploy". See this official documentation page for detailed instructions on deploying marketing definitions: https://doc.sitecore.net/sitecore_experience_platform/developing/marketing_operations/deploy_marketing_definitions Explanation Based on the ...


16

I have previously found 2 secret CLI commands in Sitecore JSS: elephant-in-the-room: > jss elephant-in-the-room JSS CLI is running in global mode because it was not installed in the local node_modules folder. _.-- ,.--. .' .' / | @ |'..--------._ / \._/ '. / .-.- \ ( / \ \ ...


14

I figured out the problem. Turns out I had Sitecore.Analytics.Processing.Aggregation.Services.config and Sitecore.Analytics.Processing.Services.config files disabled. I had disabled them during the install of another module and never re-enabled them. Once I re-enabled them then the reporting database rebuild worked fine.


13

Normally analytics data are stored in the MongoDb on session end. Then, with Sitecore Aggregators, the data is flushed into the Sitecore Reporting database at a defined interval. If not mistaken, the default value is each minute. Your CD server should have access to the MongoDB analytics collections so that the tracker can store the value into MongoDB and ...


13

To clean the sql xdb database in Sitecore 9 you need to run bellow script in SQL on every shard that you have . USE [yourdatabaseprefix.Collection.ShardX] GO DELETE FROM [xdb_collection].ContactIdentifiers Delete from [xdb_collection].ContactFacets Delete from [xdb_collection].InteractionFacets Delete from [xdb_collection].Interactions Delete from [...


12

I know you have already found the exact solution for your particular case. Still, I'm going to list the steps I normally take when troubleshooting data saving issues in xDB. Hopefully, this can help others in the future. Ensure the analytics connection string is set up properly in the ConnectionStrings.config. Make sure that you have a valid xDB license. ...


10

You can do that by including the company IP range in "excludedIPAddresses" section of Sitecore.Analytics.ExcludeRobots.config file (Or by creating a patch config): <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> <sitecore> <analyticsExcludeRobots> <excludedIPAddresses> 10.1.2.3 - 10.1.2.30 </...


9

NB: The following description works for both xDB on-premises as well as xDB Cloud. In Sitecore Experience Database aka Sitecore xDB, there are Collection repository and Reporting repository. Collection The Collection repository is powered by MongoDB and includes the following databases: analytics tracking.live tracking.history tracking.contact Reporting ...


9

Not sure what version of Sitecore you are on, but this is a bit of code from the Sitecore Launch site. It identifies the user and adds the out of the box xDB facets. This is Sitecore 8.1.0.151207. public static void SetVisitTagsOnLogin(string domainUser, bool IsNewUser) { string name = Sitecore.Context.User.Profile.FullName; if (name == ...


9

Explaining the log message 11404 20:29:34 INFO [Experience Analytics]: Request: http://host.name/sitecore/api/ao/aggregates/all/7A9A483F195D4F96AD88473CD6854C4F/all?&dateGrouping=by-week&&keyTop=5&keyOrderBy=visits-Asc&dateFrom=06-08-2016&dateTo=06-11-2016&keyGrouping=by-key returned messages. This is not an error, this is ...


9

Continuous Updating is automatically configured. It is the process of xDB which takes interactions that have just ended, out of shared session, into the repository, and then processed and aggregated against. It starts as soon as Sitecore initializes and runs until the the server is turned off. In most distributed environments, a collection of server roles ...


9

Yes it does Except if you don't use xDB or Analytics. In this case, VisitorIdentification is redundant. What it does It serves a number of purposes; but the most relevant to you is, it aids robot detection on your site. Sitecore (speaking broadly) functions like this: Assume a new visitor is a robot Send some code to the client via VisitorIdentification ...


9

Make sure it runs before the Sitecore.Analytics.Pipelines.HttpRequest.EndAnalytics processor in the httpRequestProcessed pipeline. Otherwise, the contact is set to null in the EndAnalytics pipeline by Sitecore.Analytics.Pipelines.EndAnalytics.ReleaseContact processor.


8

From the Sitecore Launch site. You can use the email address or the domain\username as inputs for for Tracker.Current.Session.Identify(domainUser); This will link the current contact with the sitecore user. SC 8.x public static void SetVisitTagsOnLogin(string domainUser, bool IsNewUser) { string name = Sitecore.Context.User.Profile.FullName; if (name ...


8

Just because you are logged in does not mean it will treat the user as a contact in xDB. You should check out how to identify contacts. The key being to call Sitecore.Analytics.Tracker.Current.Session.Identify(identifier), where identfier is the username or email.


8

You can use Sitecore XGenerator for generating analytics data. More information you can find on Sitecore Github Repository Experience Generator Generate "realistically looking" traffic for the Sitecore Experience Database (xDB) with configurable patterns, including: Trends over time Identified contacts with multiple visits Bounce rate Geo location ...


8

Your personas, and personalizations are stored either on as items in the Master database or as part of an item (personlization rules for renderings) just like any other content item in Sitecore. You will need to publish the items (and run through workflow if it's applied to the item) for them to be active/present on the content delivery instances. You should ...


8

The points assigned to a Goal/Page Event combine & accumulate as Engagement Value for a user. Is this correct? Yes, you are correct. You assign engagement value points to score specific contact actions and behaviors, such as achieving a goal or triggering a page event. [Engagement Value]. When reading data from MongoDB, can we get the Engagement ...


8

You need to add user interaction (either event or goal) before submitting the contact to XDB. I have Updated your first variant code as below: public virtual ContactIdentifier CreateContact(string email, PersonalInformation personalInfo) { var identifier = new ContactIdentifier(ContactSource, email, ContactIdentifierType.Known); var ...


7

First Method (recommended): Install the Analytics Database Manager version 3.0 When Analytics Database Manager is installed, access the application from the Sitecore launchpad. Go on the "REMOVE OLD DATA" tab, select the desired options and click start. Second Method: Delete your MongoDB Databases related to the Sitecore instance. Replace the Reporting ...


7

You can create your own class: public class ClearCookieHttpModule : IHttpModule { public void Dispose() { } public void Init(HttpApplication context) { //hook end request context.EndRequest += new EventHandler(OnEndRequest); } void OnEndRequest(object sender, EventArgs e) { ...


7

Kumari, I think you're asking how Sitecore calculates profile value, and how it's displayed when the profile uses the sum type. It really is a sum; meaning it's additive. Based on the way the question is phrased, I wonder if you may not be clear on the difference between profiles, profile keys, profile cards and pattern cards. Profile A profile is ...


6

Basically, it is a kind of difficult sometimes to query the MongoDB directly, I had a similar scenario and following what I did: I created aggregation processor that will be called when you rebuild the analytics database or when aggregation occurs: public class PageEventProcessor : AggregationProcessor { protected override void OnProcess(...


6

Background Under sitecore/marketingDefinitions/goal/definitionManager, you have the following parameter configured: <param desc="isReadOnly" type="System.Boolean" factoryMethod="Parse" arg0="true" patch:source="Sitecore.Marketing.config" /> This means that the definition manager is configured to be read-only. Here's the original text of this node ...


6

The [Unknown page] entries may appear due to following reasons: Items may have been deleted which were already tracked. Pages are opened and tracked which are not Sitecore items e.g. You created a test.aspx page in root folder and open it, This page does not have a corresponding item in Sitecore and will show as Unknown. You can check URLs and Names of ...


6

To be able to insert new fields into the analytics index, you should have the following: Custom Crawler Index Aggregator Pipeline The crawler inherits from the ObserverCrawler<T> type. The generics type identifies the kind of IIndexable object the crawler handles. For example, one of the crawler handles visit objects and another crawler handles ...


Only top voted, non community-wiki answers of a minimum length are eligible