Federated Experience Manager (FXM) is a module that you use with the Sitecore® Experience Platform™ (XP) to both serve web content as well as capture visitor behavior on non-Sitecore sites. The customer interaction data is stored in Sitecore XP’s database (called Sitecore® Experience Database™ or xDB). FXM essentially enables you to personalize the information on sites you own but that are not managed entirely by Sitecore.
FXM has been heralded as a game-changer in the Sitecore world. It enables a marketer to see customer behavioral data and share Sitecore content across all their experience properties regardless of whether they are on the Sitecore platform or not. This enables you to maintain a single view of the customer and a single source of content no matter if you’ve upgraded/migrated all your digital properties to Sitecore, or if you plan to take a more gradual approach to your migration. Examples include Sitecore sites, non-Sitecore sites, and native mobile apps.

We would cover this concept into 4 logically separated topics mentioned below.

Part 1 – Configuring federated experience manager in Sitecore
Part 2 – Setting up non-sitecore site and add it into FXM
Part 3 – Displaying sitecore content into non-sitecore external site.
Part 4 – Personalize Content and Trigger Goal/Event from external site.

In the first part, we would cover the FXM basics and how to enable federated experience manager in sitecore to make it ready to capture visitor’s interaction. And in the next part, we would configure non-sitecore site into FXM, displaying sitecore content into external site and after that we would apply personalization on non-sitecore site.

Key features

• Unite sites, customers, and content for one measurable experience
• Personalize the experience across disparate web platforms
• Drive a consistent experience across all your marketing channels
• Enjoy the benefits of Sitecore, even before your new site is built
• Add marketing messages in places you never thought possible

Return on Investment (ROI)

Federating content management across all your web properties lets you deliver personalization to your customers across all networked sites. It’s especially helpful if your company has grown by acquisition and you now manage a network of different websites on different architectures, as it offers a quick and simple way to deliver consistent, cross-platform content management.
Here are a few more examples where FXM can create value for your marketers:

• A company hosts sites that cannot be managed by Sitecore (e.g. non-.NET sites or apps, such as WordPress or PHP sites)
• A company wants to better collaborate with their partners
• A company is in the process of migrating their properties; however, they don’t want to wait until they are all migrated before taking advantage of xDB’s capabilities
• You may be in acquisition mode and need to take control of new properties and quickly integrate them into your overall marketing objectives

How it works

Using Sitecore XP, you register your non-Sitecore site in FXM as a source to track visitor activity. Then add a JavaScript tag to your non-Sitecore site. Finally, navigate the non-Sitecore site from within Sitecore XP, where you can configure the personalization, segmentation, events, and goals for the pages on the non-Sitecore site that you use to both track and deliver personalized experiences.

Prerequisites

1. Analytics connection string should be enabled
2. xDB must be enabled
3. FXM Search indexes should be enabled

Make sure that Analytics is enabled and you have connection string targeting to your mongodb instance to store interaction/visit data.

Make sure that xDB is enabled for your instance. There are multiple ways to check this out whether xDB is enable or not.

1. Related apps in Sitecore client dashboard: in below screen shot, you can see that some important apps are missing i.e. (Federated Experience Management, Experience Profile, and Experience Optimization). This is because, xDB is not enabled at your instance.

2. xdb.Enabled and Xdb.Tracking.Enabled value in Sitecore.Xdb.config file: these setting’s value should be true to make xdb enable and make it ready for tracking visitors data.

3. xdb.Enabled setting in showconfig.aspx admin page

Once you enable Analytics, you will get these option on sitecore client dashboard. You should see all analytics related apps here.

If you still not able to see these sitecore client apps, means you don’t have enough permission to view and access these apps. In this case, you have to contact your sitecore administrator to give required access to current user or role.
You might ask to give all required permission for below item to current logged in user for whom who want to give access to Federated Experience Manager.

/sitecore/client/Applications/Launchpad/PageSettings/Buttons/marketing/federated experience manager

Next, Make sure that, FXM related search indexes are enabled or not. You can find these indexes definition in Website\App_Config\Include\FXM folder.

By default, these configuration files are enabled. If not, please enable those. If you are using SOLR for your sitecore content search, you need to enable SOLR related configuration instead of Lucene. In that case, just postfix Lucene config files with .disabled after the extension and remove .disabled from all SOLR configuration to make it enable.

In case of SOLR, make sure, you have created cores for these 2 FXM related indexes for both web and master.

Finlay you should see below screen, when you click on “Federated Experience Manager” application icon from sitecore client dashboard.

References

https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/federated_experience_manager/configuring/the_requirements_and_limitations_of_fxm?roles=admin

https://doc.sitecore.net/sitecore_experience_platform/digital_marketing/federated_experience_manager/using_fxm/add_an_external_website_in_fxm

http://www.techguilds.com/blog/2017/03/how-to-track-clicks-with-sitecore-fxm

http://www.sitecore.net/en/products/sitecore-experience-platform/cross-channel-delivery/fxm