Sitecore Articles / Blogs / Perficient https://blogs.perficient.com/tag/sitecore/ Expert Digital Insights Mon, 11 Nov 2024 20:58:03 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png Sitecore Articles / Blogs / Perficient https://blogs.perficient.com/tag/sitecore/ 32 32 30508587 Maximizing Engagement and ROI with Sitecore Stream https://blogs.perficient.com/2024/11/06/maximizing-engagement-and-roi-with-sitecore-stream/ https://blogs.perficient.com/2024/11/06/maximizing-engagement-and-roi-with-sitecore-stream/#respond Wed, 06 Nov 2024 19:45:06 +0000 https://blogs.perficient.com/?p=371885

In today’s digital age, customers expect personalization. However, creating truly engaging, dynamic experiences is still a challenge for many brands. Sitecore Stream, is a game-changing platform that enables real-time content delivery, helping companies connect with their audiences on a deeper level and drive tangible business results. Lean how Sitecore Stream transforms personalization, optimizes the customer journey, and drives long-term ROI growth.

The Power of Real-Time Personalization with Sitecore Stream

Real-time personalization goes beyond addressing customers by name; it adapts content dynamically based on user behavior, preferences, and context, delivering precisely what they need in the moment. Sitecore Stream’s capabilities empower brands to create these impactful, in-the-moment connections.

  • Sitecore Stream’s real-time features analyze user behavior instantly, allowing brands to adapt content in milliseconds. This dynamic adaptability fosters a unique user experience tailored specifically to each visitor.
  • Personalization in real-time resonates on a personal level, encouraging higher engagement rates by delivering relevant content when it matters most.
  • Imagine an e-commerce brand using Sitecore Stream to instantly adjust product recommendations based on browsing history and recent purchases, creating a smoother path to conversion.

By embracing Sitecore Stream’s real-time personalization, brands not only meet but exceed customer expectations, by fostering loyalty and setting the stage for improved ROI. When customers feel understood and valued, they’re more likely to return and recommend the brand.

Maximizing ROI Through Enhanced Customer Journeys

Beyond immediate engagement, Sitecore Stream provides a strategic advantage by refining the entire customer journey. From the first interaction to the post-purchase experience, Sitecore Stream enables companies to personalize each touchpoint, creating a seamless and satisfying journey.

  • Sitecore Stream maps out user behavior, enabling brands to identify and optimize key journey points, guiding users effortlessly toward conversions.
  • Real-time data from Sitecore Stream provides insights into customer preferences and actions, helping companies make data-driven adjustments for continuous journey improvements.
  • Improved journeys directly impact conversion rates, average purchase values, and customer lifetime value. With Sitecore Stream’s analytics, brands can continuously refine their approach and maximize ROI.

Future-Proofing Content Delivery for Long-Term ROI Growth

Sitecore Stream is geared to help companies stay agile in a rapidly changing digital landscape. As consumer expectations evolve, brands can rely on Sitecore Stream’s real-time capabilities to continually adapt and deliver personalized experiences, ensuring sustainable growth and ROI over the long term.

  • Sitecore Stream’s infrastructure is designed to evolve with emerging trends, making it an essential asset for companies looking to stay competitive.
  • By continuously enhancing content delivery, brands keep audiences engaged and loyal, creating a cycle of sustained customer satisfaction and ROI.
  • Long-term ROI is not just about immediate returns; it’s about positioning a brand as a leader in personalization. Sitecore Stream provides a strategic edge, empowering brands to anticipate and meet future demands.

In a world where customer expectations are constantly evolving, Sitecore Stream allows brands to meet those expectations and maximize engagement and ROI. From real-time personalization to journey optimization and future-proof adaptability, Sitecore Stream helps brands not just keep up but lead the way in delivering meaningful, impactful experiences.

We expect to see Sitecore Stream empower businesses to position themselves to achieve both immediate and long-term ROI, fostering deeper customer connections and building a future-proof content strategy. I am excited to see where this AI journey unfolds.

]]>
https://blogs.perficient.com/2024/11/06/maximizing-engagement-and-roi-with-sitecore-stream/feed/ 0 371885
Sitecore Symposium 2024: Day Three Recap https://blogs.perficient.com/2024/11/05/sitecore-symposium-2024-day-three-recap/ https://blogs.perficient.com/2024/11/05/sitecore-symposium-2024-day-three-recap/#respond Tue, 05 Nov 2024 22:49:40 +0000 https://blogs.perficient.com/?p=371671

Welcome to my recap of Sitecore Symposium 2024! The week continued with numerous insightful sessions, informative workshops, and exciting new announcements. Here are my session notes and takeaways from the final day at Symposium, day three.

Opening Keynote

Scsym24 Es Openingkeynote

Opening keynote with Brendan Hunt

The morning kicked off on a high note with a special guest appearance by Brendan Hunt, who plays Coach Beard on Ted Lasso. Though I haven’t watched the show myself—there are simply too many good ones to keep up with —I still found his insights engaging and relevant. He shared valuable lessons that resonate in both work and life, without needing to be star-struck to appreciate them.

  • How to make work not suck
    • Connect with co-workers.
    • Surprise your co-workers.
    • Make today different than yesterday.
      • Don’t fall into the trap of the mundane.
    • Be curious, not judgmental.
      • People have lots of things going on that might not be apparent or shared with you.
    • Don’t let the wisdom of age be wasted on you.
      • Use the knowledge that you have gained.
      • This is the opposite of youth is wasted on the young.

CDP and Personalize at Scale

Scsym24 Es Cdpatscale

CDP and Personalize at Scale session

Personalization at scale holds immense potential for boosting revenue, and companies that successfully tackle the challenges of scaling personalization will gain a competitive edge. In today’s market, can your business afford not to invest in personalization? While personalization can drive growth, it comes with its own set of challenges—overcoming these will set industry leaders apart from the rest.

  • Challenges faced by marketers
    • Creating the right content.
    • Creating enough content.
    • Creating quality content.
    • Technical skills to create content.
    • Understanding what the customer wants/needs.
  • Data
    • Ensuring you have the data you need to personalize.
      • Data is often trapped in multiple disconnected systems.
    • Distribution
      • Coordination between channels to ensure a consistent customer experience and messaging.
    • Scaling
      • Content reuse
        • Integrate Sitecore Search to surface existing content.
      • Generative AI
        • Content creation and revision.

XM Cloud Roadmap

The benefit of a SaaS-based product like XM Cloud is that it is being continuously updated. Best of all you get the updates without having to upgrade. XM Cloud has numerous new features coming to the platform.

  • Present
    • A/B Testing
    • Marketer’s Dashboard
    • Sitecore Stream content optimization
  • Next
    • Updates to Pages
    • Component level personalization
    • Component Library
    • Sitecore Stream brand assistant
  • Future
    • Generative AI component builder
    • Embedded Search

Sitecore Lunch

Scsym24 Es Sitecorelunch

Lunch with friends in the Sitecore community

What a great way to end a great week! An in-person Sitecore lunch started as two tables and then grew to four, six, and eight tables with almost 40 people. This shows the real power of the Sitecore community because although we might work for different companies and be considered “competition”, we can still be friends and discuss Sitecore without boundaries. With my Perficient colleagues, it’s so nice to sit around a physical table with everyone that I normally see every week in little boxes on a Zoom call.

That’s a wrap!

Sitecore Symposium 2024 is over, but there is so much to look forward to in the world of Sitecore over the next year. I’m thrilled about the upcoming changes in CDP, Personalize, and Search with unified tracking, as well as the potential of Sitecore Stream for AI-driven insights, content creation, and brand-aware marketing support. I’m also looking forward to the Sitecore Marketplace, where we can build apps and expand the capabilities of XM Cloud. Feel free to connect with me on LinkedIn. I’d love to chat and hear more about what Sitecore news you are most excited about.

]]>
https://blogs.perficient.com/2024/11/05/sitecore-symposium-2024-day-three-recap/feed/ 0 371671
Sitecore Symposium 2024: Day Two Recap https://blogs.perficient.com/2024/11/04/sitecore-symposium-2024-day-two-recap/ https://blogs.perficient.com/2024/11/04/sitecore-symposium-2024-day-two-recap/#respond Mon, 04 Nov 2024 07:54:11 +0000 https://blogs.perficient.com/?p=371557

Welcome to my recap of Sitecore Symposium 2024!  Day 2 at Symposium offered incredible insights and valuable information. There was no shortage of engaging sessions and thought-provoking discussions and we are so excited to bring these fresh perspectives back. Here are my session notes and takeaways from day two.

Women in Digital BreakfastWidb17

What an inspiring way to start the day! Sitecore and Perficient joined to bring the inaugural Women in Digital Breakfast to life. The morning started with a nice breakfast buffet and there was time to hang out and connect with other attendees. Perficient continued our “Skip the Swag” initiative and left notecards on the tables where each attendee could write and share how cancer has impacted their life. For each attendee, Perficient will make a donation on their behalf to the American Cancer Society. The panel discussion was very well done and the speakers had great insight and takeaways.

  • How can men help support women in the workplace?
    • Create space for women.
    • Bring women along on your journey.
    • Stand up for your women colleagues.
    • Be an ally.
  • How can we help to eliminate gender roles in future generations?
    • Raise boys and girls with the same standards.
    • Do not force kids into certain roles, hobbies, or toys that play to gender stereotypes.
  • Many women left the workforce during the pandemic to support kids and families but now…
    • They are coming back.
    • They are changing careers.
    • They need support.
  • How can we support women with families (or anyone with a family really)?
    • Be understanding.
    • Family comes first.
    • Work is a part of life, not your whole life.

Opening Keynote

Eric Stine opened the day with the announcement that Content Hub, XM Cloud, and CDP are all HIPPA compliant! This is a big deal since it allows Sitecore to be able to sign BA agreements with healthcare organizations. In today’s modern world, users expect personalized experiences but this is difficult when it comes to PHI. You cannot change your personal information like you can your credit card if you get hacked. Protecting personal information is important to a brand’s trust.

Scsym24 Es ExperienceawardsExperience Awards

The morning continued with the announcement of the Experience Award winners for 2024.  Perficient was pleased to win the Global Sitecore Practice Excellence Award. You can see a full list of all the winners in Sitecore’s official press release. Congratulations to all the winners!

Sitecore Search at Scale

This project included 6 sources, 7000 PDFs, and 44 languages! How do you scale Sitecore Search to a project that large?Scsym24 Es Search Speakers

  • Identify your data
    • What you want to index.
  • Analyze the data
    • How can you standardize your data?
  • Expose your data
    • Sitecore Search uses a crawler, so it must be able to access your data in order to index it.
  • How will Search help your clients?
    • What problem are they trying to solve?
    • What are they looking for?
    • Is the data useful to your clients?
  • “Make it like Google”
    • Google has hundreds of developers solely focused on search.
    • Your development team is likely much smaller and has many other tasks to accomplish to launch a site.
    • Your search experience is only as good as the time and money you can devote to it.

Introducing Sitecore Marketplace

More people are moving to XM Cloud and other SaaS products. 82% of users say that an app marketplace is an important factor in choosing a DXP platform. Sitecore is taking that information to heart and creating a new Sitecore Marketplace. This will be a fully supported solution for discovering, enabling, and managing apps, plugins, and extensions. Scsym24 Es Marketplace Speakers

  • This gives developers
    • The tools and technologies to create add-ons for Sitecore products
      • SDKs
      • UI libraries
      • Support and documentation
      • Starter library
    • Support for app versions
    • App visibility
      • Public
      • Private (invite only access)
    • This gives customers
      • The ability to add new features and capabilities to their instance

Sitecore CDP – Unified Tracking

Sitecore’s composable suite of products are becoming easier to connect together. Unified tracking means that you only must integrate one SDK. It also means that each event triggered will persist across all Sitecore products. The first products to use unified tracking will be XM Cloud, CDP, Personalize, and Search.Scsym24 Es Unifiedtracking Speaker

  • Session Tracking
    • A new session end event in CDP that allows you to update the guest profile.
  • Profile Sharing
    • The guest profile can be shared across products.
      • Use the guest ID in CDP to find the same user in Search.
    • Audience segments can be shared across products.
      • Search results can be tailored to the audience segment.
    • Cloud SDK
      • One SDK to rule them all.
        • The Cloud SDK will reach feature parity with the Engage SDK.
        • The Cloud SDK will be the primary and best way to integrate

Symposium Party

Click to view slideshow.

Sitecore sure knows how to throw a party! We had bus service to downtown Nashville where we had space at four bars on Broadway just for attendees! There was a buffet with all the southern comforts including my favorites: chicken and waffles and shrimp and grits!  To top it off, there were three floors of entertainment and a rooftop with a view of downtown. There was live music, line dancing, drinks, and good times with good friends!  What a great night and great experience at Sitecore Symposium!

]]>
https://blogs.perficient.com/2024/11/04/sitecore-symposium-2024-day-two-recap/feed/ 0 371557
Sitecore Symposium 2024: Day One Recap https://blogs.perficient.com/2024/10/25/sitecore-symposium-2024-day-one-recap/ https://blogs.perficient.com/2024/10/25/sitecore-symposium-2024-day-one-recap/#respond Fri, 25 Oct 2024 17:56:36 +0000 https://blogs.perficient.com/?p=371010

Welcome to my recap of day one at Sitecore Symposium 2024! There was no shortage of inspiring sessions, key takeaways, and exciting announcements from day one.Scsym24 Es Opening Keynote1

Opening Keynote

The opening keynote by Sitecore executives was an excellent kickoff to Symposium, reinforcing their commitment to being a trusted partner. They emphasized their focus on core strengths and want people to have a choice, whether it be XM Cloud, XM, or XP. Sitecore is determined to stay ahead of the market through innovation and they made several exciting announcements about the direction they’ll take in the coming year. It’s an exciting time to be working with Sitecore!

Scsym24 Es Sitecore StreamIntroducing Sitecore Stream! Sitecore Stream is the new brand-aware AI generative copilot that will work with marketers as they try to do more with less.

  • Will be integrated across all DXP products
  • Shortened time to value.
  • Keep marketing materials consistent.
  • Help create new campaigns.
  • Balance strategy with technology.

It really is an impressive tool and I, along with many others in the Sitecore community, can’t wait to see it in action. You really do have to see it to believe it.

Accessibility and the Impact on your Business

Scsym24 Es Accessibility SpeakersAccessibility is more important than ever, yet it’s often treated as an afterthought, typically addressed at the end of projects when it should be prioritized from the start. It’s not just about checking a box or a one-and-done effort—accessibility affects everyone and can benefit anyone. Good website design enhances the user experience for all, not just those with disabilities.

  • Why is accessibility important?
    • Regulatory
    • Legal
    • Financial
    • Equality
    • Doing the right thing
  • ADA lawsuits:
    • The number of lawsuits is rising over time.
      • In 2018 there were 2,000+ Lawsuits.
      • In 2023 there were 4,000+ lawsuits.
    • According to the ADA, 72% of lawsuits were against companies with less than 50 million in revenue.
      • Small companies are at just as high of risk as large companies.
    • Statistics:
      • According to the CDC, 28.7% of people have a disability.
      • UNC School of Medicine found that 71% of web users with a disability will leave a site if it is not accessible.
      • This equates to a potential 20% loss of revenue.
        • Can you afford to not be accessible and lose this amount of business?
      • Doing the right thing:
        • It can increase your reputation.
        • It can generate loyalty.
        • It’s a key differentiator.
        • It’s a marketing opportunity.
        • It makes the world better for everyone.

Is AI Bias the New Elephant in the Room?

Scsym24 Es Ai Bias SpeakersBias is an unfavored weight towards one group of people. How does this affect generative AI? Test it yourself: create an image without specifying details like age, gender, or race. What results do you see? Chances are, the image lacks cultural diversity, and representation of people with disabilities, or older individuals. It may also reflect assumptions about gender roles based on job titles.

  • How AI bias happens:
    • Algorithmic bias during the development of the model
    • Data bias in the model training phase
    • Interaction bias when the AI learns from biased human interactions
  • What is the impact of bias?
    • Legal and ethical consequences
    • Lost revenue
    • Erases diversity
  • How can we reduce this bias?
    • Add diverse perspectives when building the algorithms
    • Train people to identify bias in generative AI results
    • Reward people doing good work

Sitecore Search Product Roadmap

Sitecore Search is continuously evolving like many other SaaS products. Take a look at the future of Sitecore Search.Scsym24 Es Search Speaker

  • Current
    • Commerce product grouping
      • Group similar products on product or size variations
    • Commerce rules
      • Bury low or out-of-stock items
    • CDP
      • Audience segment support
    • Next
      • Unified tracking.
        • Tracking IDs will work across many of Sitecore’s composable products
      • XM cloud content indexing
        • Push changes directly into Search
      • Order cloud integration
      • Generative AI Q&A for search prompt
      • More accurate recommendations
    • Future
      • Refined UX
      • Simplified indexing connectors
      • Copy rules between instances
      • Exposed search analytics
      • Conversational search
      • Generative AI metadata
]]>
https://blogs.perficient.com/2024/10/25/sitecore-symposium-2024-day-one-recap/feed/ 0 371010
Kicking Off Sitecore Symposium 2024 as an MVP https://blogs.perficient.com/2024/10/16/kicking-off-sitecore-symposium-2024-as-an-mvp/ https://blogs.perficient.com/2024/10/16/kicking-off-sitecore-symposium-2024-as-an-mvp/#comments Wed, 16 Oct 2024 21:05:07 +0000 https://blogs.perficient.com/?p=370668

Sitecore Symposium 2024 is Underway!20241013 114152

A conference like Sitecore Symposium is a great way to make a mini vacation out of your work travels. I arrived on Sunday and explored the city of Nashville. Did you know that Nashville is home to a full-scale replica of the Parthenon? It was built in 1897 as part of the Tennessee Centennial Exposition. Today, it’s the only remaining building from the exposition and has since been turned into a museum. The museum contains the largest indoor statue in the Western Hemisphere, the goddess Athena in full gold leaf standing at 41ft tall.

20241013 131746Symposium is being hosted at the Gaylord Opryland Resort. This is my first time here and the hotel is beautiful. The atrium is covered in glass and has lush green gardens and walking paths with waterfalls. You can even take a boat ride through the interior.

For me, the best part about these conferences is seeing people face-to-face! Most of us work remotely and are only able to see these people on phone calls and little boxes on our screen in a grid on a zoom call. It’s great to see people in person, face-to-face because technology can’t replicate that experience.

Click to view slideshow.

Exploring Nashville

The conference schedule fills up quickly, so having time beforehand to hang out with friends is great. Chet Potvin  organized a walking food tour of Nashville on Sunday night. We started out at a rooftop bar with a great view of downtown Nashville. The guide shared some great stories about Nashville history, culture, music, and food. We had four stops, which included Nashville barbecue and the famous Nashville hot chicken.

MVP Summit

Monday was the MVP Summit. This was my first time attending. While I can’t share any of the information from the sessions, I can say it was a great experience. We got a sneak peek of inside information and got to interact with the Sitecore product teams and executives. We had interactive conversations and it’s great knowing that the team at Sitecore really listens to our feedback. As MVPs, we are really able to impact the products.

MVP PartyMariokart1

After a full day of sessions, we were treated to an MVP party at Dave and Buster’s. Sitecore booked the entire venue just for us. We had great food and drink, unlimited gaming, and karaoke. It was a great time to hang out with old friends and make new friends.

Tiffany, Josh, and I challenged Dave O’flanagan to a race of Mario Kart! MJ is quite the instigator and isn’t afraid to let loose and encourage others to do the same. We did a great version of Ice Ice Baby. And in case you’re curious, yes, we know all the words. The night ended with 15 people singing Closing Time. But we weren’t done yet. On the walk back to the hotel, we gave our best acapella version of Sweet Caroline. It was so good so good so good! What a fun night! It’s the reward for a full year’s worth of hard work to achieve MVP status.20241014 204850

Looking Ahead to Symposium

I’m looking forward to seeing what more Sitecore Symposium has to offer. It promises to be full of innovation, collaboration, fresh insights, and informative sessions. If you’re attending Sitecore Symposium, stop by our Perficient booth!

]]>
https://blogs.perficient.com/2024/10/16/kicking-off-sitecore-symposium-2024-as-an-mvp/feed/ 1 370668
Three Tips for Adding a Headless Site in XM Cloud https://blogs.perficient.com/2024/10/09/three-tips-for-adding-a-headless-site-in-xm-cloud/ https://blogs.perficient.com/2024/10/09/three-tips-for-adding-a-headless-site-in-xm-cloud/#respond Wed, 09 Oct 2024 20:08:15 +0000 https://blogs.perficient.com/?p=367815

Intro 📖

In this post, I’ll cover three tips developers should consider when deploying a new headless site to XM Cloud. Having recently added a new headless site to an existing solution, I ran into a few issues. I hope to save others from similar headaches in the future (mostly myself 😉). If you’ve added a new headless site to your XM Cloud solution recently and are having trouble getting the site to appear and function properly, please read on 👇.

1. Verify the New Site’s Start Item 🚩

After deploying your new site, if you notice that the site isn’t appearing on the Sites landing page in XM Cloud (https://xmapps.sitecorecloud.io/?tab=tools&tenantName=<tentant_name>&organization=<organization>), double-check that the site’s Start item field is set. This field can be found on the site’s Site Grouping item whose path is (usually) as follows:

/sitecore/content/<site_collection>/<site>/Settings/Site Grouping/<site>

Moreover, make sure that the referenced item is physically present in the content tree. If the Start item isn’t present, the site won’t appear in XM Cloud.

Site Start Item

Verify that the Start item is set and points to an actual page.

In my particular case, I had initially misconfigured serialization for the new site and inadvertently excluded the new site’s Home item. The Start item field was set, but it didn’t point to anything in the target environment, so my new site wasn’t showing up in XM Cloud 🤦‍♂️.

2. Verify the Rendering Host Items 🤖

If your new site is appearing in XM Cloud but you can’t open any pages in Experience Editor or Preview, something could be wonky with the rendering host items.

Every XM Cloud solution includes an xmcloud.build.json file in the root directory. This is the XM Cloud build configuration file; it controls how XM Cloud builds and deploys the solution. Included in this file is a list of the rendering hosts that XM Cloud should provision and spin up as part of a deployment. Rendering hosts (also sometimes called “editing hosts” in the context of a CM) are necessary to drive Sitecore’s Experience Editor and Preview functionality. The xmcloud.build.json file is pretty important and useful; for more information on this file and what it can do, please refer to the official documentation here: https://doc.sitecore.com/xmc/en/developers/xm-cloud/the-xm-cloud-build-configuration.html.

There should be an entry in the renderingHosts property of the xmcloud.build.json file for every separate headless application in your solution. Note, however, that it is possible to run multiple headless sites with a single head application using the JSS multisite add-on. For more information on the pros and cons of either approach, check out this Sitecore developer article: https://developers.sitecore.com/learn/accelerate/xm-cloud/pre-development/project-architecture/multisite#web-application.

For the purposes of this tip, assume that there are two headless sites, each with their own headless Next.js application running different versions of Node (which also implies the need for two separate rendering hosts–one rendering host can’t run multiple versions of Node/Next.js). Let’s say the xmcloud.build.json file looks something like this:

{
    "renderingHosts": {
        "mysite1": {
            "path": "./src/rendering-mysite1",
            "nodeVersion": "16.15.1",
            "jssDeploymentSecret":"<redacted>",
            "enabled": true,
            "type": "sxa",
            "lintCommand": "lint",
            "startCommand": "start:production"
        },
        "mysite2": {
          "path": "./src/rendering-mysite2",
          "nodeVersion": "20.14.0",
          "jssDeploymentSecret":"<redacted>",
          "enabled": true,
          "type": "sxa",
          "lintCommand": "lint",
          "startCommand": "start:production"
      }
    },
    ...

When XM Cloud runs a deployment, it reads the xmcloud.build.json file, iterates through the renderingHosts property, and provisions the relevant containers behind the scenes. When the deployment completes, the rendering host items in the content tree are created and/or updated under this folder:

/sitecore/system/Settings/Services/Rendering Hosts

The rendering host items in this folder map to the rendering hosts enumerated in the xmcloud.build.json file.

One interesting thing to note is that, regardless of the name of the first rendering host the xmcloud.build.json file (e.g., mysite1 in the example above), the first rendering host in the xmcloud.build.json file will always be created in the Sitecore content tree with a name of Default. The N + 1 rendering hosts will have the names listed in the xmcloud.build.json file. For example (again, assuming the xmcloud.build.json file, above 👆), the post-deployment rendering hosts in the target XM Cloud environment would look like this:

Rendering Hosts

The resulting rendering host items from an XM Cloud deployment.

Once XM Cloud creates these items, it sets them to protected in the content tree–these items should not be modified outside of the XM Cloud deployment process.

If, for whatever reason, you’ve serialized these items and have manually overridden the items (either by making manual changes or by installing a content package), you can get into a situation where the changes and updates during XM Cloud deployments on these items are ignored because Sitecore is looking at the overridden items. This will remain an issue until the overridden serialized items are either cleaned up using the Sitecore CLI itemres cleanup command (reference: https://doc.sitecore.com/xmc/en/developers/xm-cloud/the-cli-itemres-command.html#the-cleanup-subcommand) or the overridden items are simply deleted (to be restored on the next deployment).

The TL;DR for this tip: do not serialize rendering host items corresponding to entries in the renderingHosts property in the xmcloud.build.json file–XM cloud manages these items, so you don’t have to.

3. Set the Name and Description for the Site Collection 📛

The XM Cloud Sites landing page has been updated recently but, in the past, the name of the site collection to which a site belonged would sometimes be presented as “N/A”:

Collection On Site

A site’s Collection label reading “N/A”.

It turns out that there’s a field section on site collection items that lets developers set the Name and Description for the site collection. Admittedly, initially, I was just annoyed with the “N/A” and wanted a way to set the site collection name. However, it’s generally a good idea to name and describe your site collections anyway, especially if there are (or will be) many of them. To set the Name and Description fields on a site collection item, navigate to the site collection item in the content tree and drill down to the Metadata field section to provide values for these fields:

Site Collection Name And Description

Setting the Name and Description of a site collection.

🥣 Be sure to serialize any updates to these items using the Sitecore CLI ser pull command (reference: https://doc.sitecore.com/xmc/en/developers/xm-cloud/the-cli-serialization-command.html#the-pull-subcommand). Site collection items are developer-controlled and should be consistent between environments.

Now, in the XM Cloud Sites interface (and possibly elsewhere in the future), it’ll be easier to differentiate between site collections and determine the purpose of a given site collection. ✅

Thanks for the read! 🙏

]]>
https://blogs.perficient.com/2024/10/09/three-tips-for-adding-a-headless-site-in-xm-cloud/feed/ 0 367815
SEO, GEO, SGE, and Beyond the Horizon: Tips, Tricks, and Takeaways from Sitecore Symposium 2024 https://blogs.perficient.com/2024/10/01/seo-geo-sge-and-beyond-the-horizon-tips-tricks-and-takeaways-from-sitecore-symposium-2024/ https://blogs.perficient.com/2024/10/01/seo-geo-sge-and-beyond-the-horizon-tips-tricks-and-takeaways-from-sitecore-symposium-2024/#respond Tue, 01 Oct 2024 19:26:45 +0000 https://blogs.perficient.com/?p=370014

If you’ve been following the massive changes happening at the intersection of AI and SEO, you’re probably asking yourself: What should we do next? The good news is, while the landscape is evolving, there are clear steps you can take to ensure your SEO strategy thrives in this new era, especially with the rise of AI-powered search experiences like Google’s Search Generative Experience (SGE).

Important Metrics to Track to Help with SEO and SGE

  • Organic Traffic – Monitor how many sessions and visitors are coming to your site via organic traffic.
  • Keyword Performance – Ensure you have a short and long-tail keyword strategy to watch performance. This should include tracking rankings, clicks, impressions and CTR for keyword performance.
  • Direct/Referral Traffic – This will be important to get a pulse on overall performance. With zero-click studies showing organizations may see a decrease in overall organic performance, but direct/referral traffic should remain the same or increase based on efforts to strength brand awareness by populating in AI results.

 

Checklists
Top 5 things you should do if you have no SEO SMEs on staff

  1. Invest in a subscription to SEO software like SEMRush or Moz and audit your site for on-page errors.
  2. Utilize canonical tags to avoid duplicate content issues with canonical URLs.
  3. Prioritize the on-page errors such as the meta titles, descriptions, H-tags, and image alt texts are optimized.
  4. Follow mobile-first best practices during site implementation and build.
  5. Focus on quality content and ensure you keep content up-to-date, relevant and valuable to improve engagement.

 

Top 10 things you should do if you have a one-person SEO program
In addition to the previous five activities, make sure to do the following:

  1. Utilize SEO software to perform keyword research to identify the most high-value keywords that your audience is searching for; update this list quarterly and make sure your writers and developers are working off the same list.
  2. Ensure you are strategically building internal links to improve site architecture
  3. Evaluate accessibility scores and fix any potential errors that may be occurring
  4. Monitor and track core web vital and page load performance to improve user experience and SEO rankings.
  5. Build high-quality backlinks to boost domain authority and contribute to your E-E-A-T

Top 20 things you should do if you have an SEO team
With a dedicated SEO team, you can expand your strategy to include the following items:

  1. Build out correct localization of content to improve local search rankings
  2. Utilize schema mark-up to help populate in Ai results, featured snippets and
  3. Leverage multimedia content to incorporate images, videos and interactive content to improve engagement and rankings
  4. Monitor and analyze metrics such as organic traffic, keyword position, domain authority, conversion rates
  5. Research and analyze competitors SEO strategists and find opportunities where you can outperform them
  6. Optimize for image search which includes descriptive files names, alt text and captions to capture traffic from image search engines.
  7. Understand audience personas to guide content creation to meet their needs and intent.
  8. Leverage A/B testing and personalization to deliver relevant, high-quality content to users based on intent and needs.
  9. Stay informed on major search engine algorithm updates and adjust strategist to remain complaint with best practices.
  10. Integrate SEO with other marketing channels such as social media, paid advertising, email marketing to drive organic and referral traffic.

Websites to bookmark to keep up to date on SEO news

Search Engine Land

Semrush

CMSWire

This blog was co-authored by Tiffany Laster, Lead Digital Strategist at Perficient.

 

 

]]>
https://blogs.perficient.com/2024/10/01/seo-geo-sge-and-beyond-the-horizon-tips-tricks-and-takeaways-from-sitecore-symposium-2024/feed/ 0 370014
Perficient Wins 2024 Sitecore Practice Excellence Award https://blogs.perficient.com/2024/09/19/perficient-wins-2024-sitecore-practice-excellence-award/ https://blogs.perficient.com/2024/09/19/perficient-wins-2024-sitecore-practice-excellence-award/#respond Thu, 19 Sep 2024 07:16:37 +0000 https://blogs.perficient.com/?p=369496

Perficient is proud to announce that we have been recognized as Sitecore’s 2024 Practice Excellence Award Global Winner. This award recognizes Perficient for being a solution partner who is successful in building a business around their Sitecore practice, highlighting our power to adapt and grow.

“We are honored to receive the Sitecore Practice Excellence Award, a testament to our unwavering commitment to innovation, growth and teamwork,” said Art Quinn, General Manager, DX Platform Solutions. “This achievement underscores our ability to adapt and thrive in an ever-evolving digital landscape, empowering our clients with cutting-edge solutions and driving success through our Sitecore practice. Congrats to our entire Sitecore team on this well-deserved award.”

In addition, Sitecore has recognized Perficient and three of our customers as Sitecore Experience Award finalists. Finalists’ selection is awarded to customers and partners who have created standout digital experiences and demonstrated impressive business outcomes. Congratulations to Daltile for being a finalist in the Best Experience Transformation category and Emory Healthcare and ONEOK in the Best Content Management Modernization category. Category winners will be announced in October.

Sitecore Symposium

We cannot wait to celebrate and connect with our customers and friends at Sitecore Symposium next month. This is Sitecore’s biggest event of the year and it promises to be full of inspiring stories, innovation-driven sessions, and ample networking opportunities. Stop by our booth to talk with our experts and learn more about our Sitecore Symposium presence here.

Our Sitecore Practice

An award-winning Sitecore Platinum Implementation partner, Perficient has designed, implemented, and delivered many enterprise-level sites powered by the Sitecore Experience Platform. Our team of Sitecore experts, including several MVPs, and more than 250 certified Sitecore developers understand how to get the most out of Sitecore’s versatile digital experience platform to create highly effective and personalized experiences for our clients and their end customers.

]]>
https://blogs.perficient.com/2024/09/19/perficient-wins-2024-sitecore-practice-excellence-award/feed/ 0 369496
Maximize Your Sitecore Symposium Experience With Perficient https://blogs.perficient.com/2024/09/11/maximize-your-sitecore-symposium-experience-with-perficient/ https://blogs.perficient.com/2024/09/11/maximize-your-sitecore-symposium-experience-with-perficient/#respond Wed, 11 Sep 2024 20:33:43 +0000 https://blogs.perficient.com/?p=369039

Nashville here we come!

Sitecore Symposium is just around the corner and it promises to be one of the most impactful events of the year. Whether you’re a Symposium pro or a first-timer, this conference offers unparalleled opportunities to learn, connect, and grow. Here’s everything you need to know about Sitecore Symposium 2024 and what to expect from team Perficient.

What is Sitecore Symposium?

Sitecore Symposium is Sitecore’s biggest event of the year. This year, the conference will take place October 15-18 at the Gaylord Resort and Convention Center in Nashville, Tennessee. Thousands of brands, marketers, technologists, and digital visionaries come together for three days of top-notch networking, inspiring success stories, innovation-driven sessions, and more.

Perficient’s Presence at Symposium 2024  

Perficient is thrilled to be a sponsor at Sitecore Symposium 2024. Our team is ecstatic to meet you and discuss your Sitecore needs.

While at Symposium, we invite you to stop by our booth and donate to the American Cancer Society to fund cancer research, education, advocacy, and patient and family services. For every chip deposited into the box, Perficient will donate $5 to the American Cancer Society. Help us pay it forward to build a better world.

After stopping by our booth, we encourage you to join our sessions and spend part of your day hearing from our experts.

 

Wednesday, October 16 | 1:30 PM – 2:00 PM

Is AI Bias the New Elephant in the Room?

Description: Join Perficient’s Megan Jensen, portfolio specialist, and other leading women of Sitecore as they explore strategies for fostering equitable AI. From tackling biases ingrained in data and algorithms to shaping ethical frameworks, our panel delves into actionable approaches for creating AI that reflects and serves diverse global communities. Discover insights on team diversity, ethical integration, and the importance of addressing biases to empower marginalized groups. Let’s ensure AI benefits society ethically and inclusively!

 

Wednesday, October 16 | 3:00 PM – 3:30 PM

SEO, GEO, SGE, and Beyond the Horizon: Using AI to Boost Page Rank, Site Performance, and Conversions

Description: In a rapidly evolving digital landscape, one goal remains consistent for every website: to reach and maintain the highest position possible in search engine results. But how can you ensure your site is set up to beat the algorithm game when the rules are constantly changing? Perficient’s Tiffany Laster, senior digital strategist, and Megan Jensen, portfolio specialist, will cover how AI is changing everything we thought we knew about SEO, what you need to change about your SEO right now, and how to prepare for what’s on the horizon.

 

Thursday, October 17 | 2:15 PM – 2:45 PM

Revolutionizing the Digital Healthcare Experience: A Panel on DXP Modernization

Description: Join Perficient’s Stephen Tynes, national Sitecore sales advisor and Mark Ursino, director, Sitecore, and marketing leaders from Emory Healthcare and Encompass Health as they share their experiences with modernizing their MarTech stacks from on-premises to PaaS and SaaS solutions. From building a roadmap with pragmatic project sequencing to connecting patient-focused platforms while ensuring HIPAA compliance, they’ll share how Sitecore and Perficient helped modernize their approach to digital experience and go beyond the concept of a “digital front door” to meet their patients’ increasing demands.

 

Getting Registered

If you haven’t yet made the decision to attend Sitecore Symposium, here are some compelling reasons to help you justify your trip. Symposium is the largest gathering of the global Sitecore community. This is the perfect opportunity to network and build relationships with like-minded individuals.

To register, visit the official conference registration page. General conference passes start at $1,849 and will be raised to $2,049 starting October 1.

Your pass includes:

  • Mainstage keynotes and product roadmap
  • Celebrity and guest keynotes
  • Breakout sessions
  • Customer showcases
  • Access to the Solutions Pavilion
  • Product demos with experts
  • Theater sessions
  • Welcome reception and happy hour
  • Symposium’s exclusive party
  • Lunch and refreshments
  • And more!

Our Expertise

As a Sitecore partner, we have designed, implemented, and delivered many enterprise-level sites powered by Sitecore Experience Platform. We know how to get the most out of this versatile digital experience platform and create highly effective and personalized experiences for your customers. Perficient has the right solution for you and we can’t wait to talk more at Symposium.

]]>
https://blogs.perficient.com/2024/09/11/maximize-your-sitecore-symposium-experience-with-perficient/feed/ 0 369039
Content Hub: Data Model Simplified https://blogs.perficient.com/2024/09/09/content-hub-data-model-simplified/ https://blogs.perficient.com/2024/09/09/content-hub-data-model-simplified/#respond Mon, 09 Sep 2024 16:48:47 +0000 https://blogs.perficient.com/?p=367448

Sitecore Content Hub is a world-class platform for centralizing and managing content across various channels. It helps businesses organize and streamline often chaotic, messy content operations. It does this by providing an architecture or schema for content and its interconnections. A schema defines how different types of assets are structured, organized, related to each other.

What is the basis of that architecture? I struggled with understanding completely when I first began with DAMs. So, hopefully, the following concepts I’ve put into more understandable terms will help make Content Hub’s data model clear for you:

  • Entities: A distinguishable object or concept. A person, a product, a company, a brand. These are the core items in the system.
  • Relations: Connections between entities. How entities are related to each other.
    • Parent-Child relation: two entities where one entity, The Parent, holds a hierarchical position higher than that of its related entity or entities, The Child or Children. The Child is dependent on the Parent.
  • Cardinality: Cardinality is the number instances of an entity that are connected to another entity. It’s the nature and scope of the relation.
    • Cardinality types
      • One-to-one: One item connected with only one other item.
        • Simple example: Mike has a BMX bike, and he owns no other bikes.
        • Real world example: A bicycle has one specific product image used across all marketing materials.
      • One-to-many: One item connected with multiple items.
        • Simple example: Mike has a BMX bike, a mountain bike, and a ten-speed bike.
        • Real world example: A bicycle brand, Cool Cycles, has images, videos, and spec sheets used across all marketing materials.
      • Many-to-many: Multiple items connected to multiple other items.
        • Simple example: Mike, Spike, and Ed have bikes. Mike sometimes rides Spike’s bike, Spike sometimes rides Ed’s bike, and Ed sometimes rides Mike’s bike.
        • Real world example: Cool Cycles has a summer marketing campaign sharing a video from another summer marketing campaign, and both campaigns are sharing images with multiple Q3 campaigns.

All of these interconnected elements create a robust framework for organizing and managing content in a scalable, efficient way, bringing order to content chaos.

 

]]>
https://blogs.perficient.com/2024/09/09/content-hub-data-model-simplified/feed/ 0 367448
Full guide to enabling Headless Multisite Add-On for your XM Cloud solution https://blogs.perficient.com/2024/08/26/full-guide-to-enabling-headless-multisite-add-on-for-your-xm-cloud-solution/ https://blogs.perficient.com/2024/08/26/full-guide-to-enabling-headless-multisite-add-on-for-your-xm-cloud-solution/#respond Mon, 26 Aug 2024 22:37:35 +0000 https://blogs.perficient.com/?p=367793

Sitecore Headless Next.Js SDK recently brought the feature that makes it possible to have multiple websites from Sitecore content tree being served by the same rendering hoist JSS application. It uses Next.js Middleware to serve the correct Sitecore site based on the incoming hostname.

Why and When to Use the Multisite Add-on

The Multisite Add-on is particularly useful in scenarios where multiple sites share common components or when there is a need to centralize the rendering logic. It simplifies deployment pipelines and reduces infrastructure complexity, making it ideal for enterprises managing a portfolio of websites under a unified architecture. This approach saves resources and ensures a consistent user experience across all sites.

How it works

The application fetches site information at build-time, not at runtime (for performance reasons). Every request invokes all Next.js middleware. Because new site additions are NOT frequent, fetching site information at runtime (while technically possible) is not the best solution due to the potential impact on visitor performance. You can automate this process using a webhook to trigger automatic redeployments of your Next.js app on publish.

Sitecore provides a relatively complicated diagram of how it works (pictured below), but if you do not get it from the first look, do not worry as you’ll get the understanding after reading this article.

Uuid 8601bf89 50ab 5913 42ed 4773b05ab2c3[1]

Technical Implementation

There are a few steps one must encounter to make it work. Let’s start with the local environment.

Since multisite refers to different sites, we need to configure hostnames. The Main site operates on main.localhost hostname, and it is already configured as below:

.\.env
    RENDERING_HOST=main.localhost
.\docker-compose.override.yml
    PUBLIC_URL: "https://${RENDERING_HOST}"

For the sake of the experiment, we plan to create a second website served by second.localhost locally. To do so, let’s add a new environmental variable to the root .env file (SECOND_HOST=second.localhost) and introduce some changes to init.ps1 script:

$renderingHost = $envContent | Where-Object { $_ -imatch "^RENDERING_HOST=.+" }
$secondHost = $envContent | Where-Object { $_ -imatch "^SECOND_HOST=.+" }
$renderingHost = $renderingHost.Split("=")[1]
$secondHost = $secondHost .Split("=")[1]

down below the file we also want to create SSL certificate for this domain by adding a line at the bottom:

& $mkcert -install
# & $mkcert "*.localhost"
& $mkcert "$xmCloudHost"
& $mkcert "$renderingHost"
& $mkcert "$secondHost"

For Traefic to pick up the generated certificate and route traffic as needed, we need to add two more lines at the end of .\docker\traefik\config\dynamic\certs_config.yaml file:

tls:
  certificates:
    - certFile: C:\etc\traefik\certs\xmcloudcm.localhost.pem
      keyFile: C:\etc\traefik\certs\xmcloudcm.localhost-key.pem
    - certFile: C:\etc\traefik\certs\main.localhost.pem
      keyFile: C:\etc\traefik\certs\main.localhost-key.pem
    - certFile: C:\etc\traefik\certs\second.localhost.pem
      keyFile: C:\etc\traefik\certs\second.localhost-key.pem

If you try initializing and running – it may seem to work at first glance. But navigating to second.localhost in the browser will lead to an infinite redirect loop. Inspecting the cause I realized that occurs due to CORS issue, namely that second.localhost does not have CORS configured. Typically, when configuring the rendering host from docker-compose.override.yml we provide PUBLIC_URL environmental variable into the rendering host container, however, that is a single value and we cannot pass multiple.

Here’s the more descriptive StackOverflow post I created to address a given issue

To resolve it, we must provide the second host in the below syntax as well as define CORS rules as labels into the rendering host, as below:

labels:
  - "traefik.enable=true"
  - "traefik.http.routers.rendering-secure.entrypoints=websecure"
  - "traefik.http.routers.rendering-secure.rule=Host(`${RENDERING_HOST}`,`${SECOND_HOST}`)"
  - "traefik.http.routers.rendering-secure.tls=true"
  # Add CORS headers to fix CORS issues in Experience Editor with Next.js 12.2 and newer
  - "traefik.http.middlewares.rendering-headers.headers.accesscontrolallowmethods=GET,POST,OPTIONS"
  - "traefik.http.middlewares.rendering-headers.headers.accesscontrolalloworiginlist=https://${CM_HOST}, https://${SECOND_HOST}"
  - "traefik.http.routers.rendering-secure.middlewares=rendering-headers"

Once the above is done, you can run the PowerShell prompt, initialize, and spin up Sitecore containers, as normal, by executing init.ps1 and up.ps1 scripts.

Configuring Sitecore

Wait until Sitecore spins up, navigate to a site collection, right-click it, and add another website calling it Second running on a hostname second.localhost.

Make sure second site uses the same exact application name as main, you can configure that from /sitecore/content/Site Collection/Second/Settings item, App Name field. That ensures the purpose of this exercise is for both sites to reuse the same rendering host application.

You should also make sure to match the values of the Predefined application rendering host fields of /sitecore/content/Site Collection/Second/Settings/Site Grouping/Second and /sitecore/content/Site Collection/Main/Settings/Site Grouping/Main items.

Another important field here is Hostname, make sure to set these fields for both websites:

Hostname

 

Now you are good to edit Home item of Second site. Multisite middleware does not affect the editing mode of Sitecore, so from there, you’ll see no difference.

Troubleshooting

If you’ve done everything right, but second.localhost resolves to the Main website, let’s troubleshoot. The very first location to check is .\src\temp\config.js file. This file contains sites variable with the array of sites and related hostnames to be used for the site resolution. The important fact is that a given file is generated at the build time, not runtime.

So, you open it up and see an empty array (config.sites = process.env.SITES || '[]') that means you just need to initialize the build, for example by simply removing and recreating the rendering host container:

docker-compose kill rendering
docker-compose rm rendering -f
docker-compose up rendering -d

Also, before running the above, it helps to check SXA Site Manager, which is available under the PowerShell Toolbox in Sitecore Desktop. You must see both sites and relevant hostnames there and in the correct order – make sure to move them as high as possible, as this site chain works by “first come – first served” principle.

Multisite

After rendering host gets recreated (it may take a while for both build and spinning up steps), check the site’s definition at .\src\temp\config.js again. It should look as below:

config.sites = process.env.SITES || '[{"name":"second","hostName":"second.localhost","language":""},{"name":"main","hostName":"main.localhost","language":""}]'

The amount of SXA client site records must match the records from SXA Site Manager. Now, running second.localhost in the browser should show you rendered home page of the second site.

Another technique of troubleshooting is to inspect middleware logs. To do so, create .env.local file at the rendering host app root (if does not exist yet) and add the debugging parameter:

DEBUG=sitecore-jss:multisite

Now, rendering host container logs will expose you the insights into how multisite middleware processes your requests and resolves site contexts, and sets site cookies. Below is a sample (and correct) output of the log:

sitecore-jss:multisite multisite middleware start: { pathname: '/', language: 'en', hostname: 'second.localhost' } +8h
sitecore-jss:multisite multisite middleware end in 7ms: {
  rewritePath: '/_site_second/',
  siteName: 'second',
  headers: {
  set-cookie: 'sc_site=second; Path=/',
  x-middleware-rewrite: 'https://localhost:3000/_site_second',
  x-sc-rewrite: '/_site_second/'
},
  cookies: ResponseCookies {"sc_site":{"name":"sc_site","value":"second","path":"/"}}
} +7ms

The above log is crucial to understanding how multisite middleware works internally. The internal request comes rewrites as <https://localhost:3000/_site_second where ‘second‘ is a tokenized site name parameter. If .\src\main\src\temp\config.js file contains the corresponding site record, site gets resolved and sc_site cookie is set.

If you still have the issues of showing up the Second website that resolves to Main website despite the multisite middleware log outputs correct site resolution, that may be likely caused by conflicting with other middleware processors.  This would be your number one thing to check especially if you have multiple custom middleware. Miltisie middleware is especially sensitive to the execution order, as it sets cookies. In my case, that problem was because Sitecore Personalize Engage SDK was registered through middleware and also programmed to set its own cookie, and somehow configured with multisite middleware.

In that case, you have to play with order constant within each conflicting middleware (they are all located under .\src\lib\middleware\plugins folder) with the following restart of a rendering host.

Resources Sharing

Since the multisite add-on leverages the same rendering host app for the multiple sites that use it, all the components and layouts TSX markups, middleware, and the rest of the resources become automatically available for the second site. However, that is not true by default for the Sitecore resources. We must assign at least one website that will share its assets, such as renderings, partials, layouts, etc across the entire Site Collection. Luckily, that is pretty easy to do at the site collection level:

Site Collection

For the sake of an experiment, let’s make Second website to use Page Designs from the Main site. After the above sharing permission, they are automatically available at /sitecore/content/Site Collection/Second/Presentation/Page Designs item.

Configuring the cloud

Once we make the multisite add-on function well, let’s make the same work in the cloud.

  1. First of all, check all the changes to the code repository, and trigger the deployment, either from Deploy App, CLI, or your preferred CI/CD
  2. After your changes arrive at XM Cloud environment – let’s bring the required changes to Vercel, starting with defining the hostnames for the sites:Vercel
  3. After you define the hostnames in Vercel, change the hostname under Site Grouping item for this particular cloud environment to match the above hostname configured earlier in Vercel.
  4. Save changes and smart publish Site Collection. Publishing takes some time, so please stay patient.
  5. Finally, you must also do Vercel full re-deployment, to force regenerating \src\temp\config.js file with the hostnames from Experience Edge published at the previous step

Testing

If everything is done right in the previous steps, you can access the published Second website from Vercel by its hostname, in our case that would be https://dev-second.vercel.app. Make sure all the shared partial layouts are seen as expected.

When testing 404 and 500 you will see that these are shared between both sites automatically, but you cannot configure them individually per site. This occurs because both are located at .\src\pages\404.tsx and .\src\pages\500.tsx of the same rendering host app and use different internal mechanics rather than generic content served from Sitecore throughout .\src\pages\[[...path]].tsx route. These error pages however could be multi-lingual, if needed.

Hope you find this article useful!

 

]]>
https://blogs.perficient.com/2024/08/26/full-guide-to-enabling-headless-multisite-add-on-for-your-xm-cloud-solution/feed/ 0 367793
Sitecore CDP: Understanding Identity Resolution https://blogs.perficient.com/2024/07/17/sitecore-cdp-understanding-identity-resolution/ https://blogs.perficient.com/2024/07/17/sitecore-cdp-understanding-identity-resolution/#respond Wed, 17 Jul 2024 12:27:22 +0000 https://blogs.perficient.com/?p=365996

Sitecore CDP tracks user behavior by linking browsing session, events, and orders to a guest profile.  By default, guests are marked as “visitors” meaning we do not know who they are.  A guest can become a “customer” meaning we know who they are. In order to identify a guest, we must send an “IDENTITY” event.  An identity event is a specific type of event that tells Sitecore CDP to begin the identity resolution process.  This process is well documented.  I read through this documentation multiple times and did not really understand the process until I needed to implement it for myself.  If you have been confused by identity in CDP, read on!

Background

A guest profile is created when you browse a site.  Your guest profile is linked to your browser through a browser id.  By default your guest profile is has the status of visitor.  In order to identify as a customer, you must send an IDENTITY event.  Any time you collect a piece of information that identifies the person, you can send the IDENTITY event.  This event can be the result of logging in, filling out a contact form, or registering for a newsletter.  When you send an identity event, you send an identifiers attribute in the event object.  This identifiers attribute has properties for provider and id.

var event = {
    "channel": "WEB",    
    "language": "en",
    "currency": "USD",
    "page": window.location.pathname + window.location.search,    
    "email": "clint.barton@shield.gov",
    "firstname": "Clint",
    "lastname": "Barton",
    "identifiers": [
        {
            "id": "clint.barton@shield.gov",
            "provider": "email"
        }
    ]
}

engage.event("IDENTITY", event);

Identity Resolution

When you send an IDENTITY event, CDP will store the identity values in the identifiers array of the guest linked to your browser id.  CDP will use the string value in the provider property and search all guests for a matching id within the same provider. If none are found, it changes the status of the guest profile to “customer” since it now knows who you are.  If it does find another customer with the same provider/id, it merges the current guest visitor profile with the existing guest customer profile.  This process is called identity resolution.

The identity resolution process makes more sense if you enable debug mode for CDP and look at the properties of a guest.  CDP has an internal property called “identifiers” for each guest.  Notice how the properties you sent in the IDENTITY event are stored with the guest.

Cdp Identifiers Noid

CDP debug information showing the empty identifiers property

 

Cdp Identifiers

CDP debug information showing the identifiers property with one provider

Multiple Identifiers

In the real world, we have multiple ways we can be identified: date of birth, social security number, drivers license id, passport id, email, username, account id, etc.  CDP allows the same behavior digitally.  Each guest profile can store multiple identifiers.

Cdp Identifiers Multiple

CDP debug information showing the identifiers property with two providers

You can send multiple provider/ids in the identifiers attribute of the IDENTITY event.

var event = {
    "channel": "WEB",    
    "language": "en",
    "currency": "USD",
    "page": window.location.pathname + window.location.search,    
    "email": "clint.barton@shield.gov",
    "firstname": "Clint",
    "lastname": "Barton",
    "identifiers": [
        {
            "id": "clint.barton@shield.gov",
            "provider": "email"
        },
        {
            "id": "c_barton",
            "provider": "username"
        }
    ]
}

engage.event("IDENTITY", event);

Identity Rules

CDP uses email by default, but allows you to create up to 5 identity rules.

Cdp Identity Rules

Identity rules in Sitecore CDP

Imagine that you have an identity rule for username.  In CDP you would define a new rule called “username”.  When you send an identity event, you can pass {provider: username, id: c_barton}.  CDP will store this value in the identifiers property of the guest just like it did with the email.  So now guests have two ways they can be identified.  CDP does not allow you to set the order of the rules.  But you can send the identity providers in the IDENTITY event in the order you want to process them.  If CDP does not find a match with the first listed provider, it evaluates all remaining providers in the order listed.

Conclusion

The most important to know that the identity rules and the identity resolution process is that the provider is just a string label.  You could call it “abracadabra”, “alohomora”, or “Supercalifragilisticexpialidocious”.  Just be sure to send the same string label in the IDENTITY event so the identity resolution process can match guests correctly.

]]>
https://blogs.perficient.com/2024/07/17/sitecore-cdp-understanding-identity-resolution/feed/ 0 365996