Blog

Chapter 3: Deploy nginx ingress controller into AWS EKS Cluster

Ingress controller is used in kubernetes to direct external traffic to the relevant containers/pods running in the cluster. nginx is a very common and popular ingress controller used with kubernetes. This article guides through the steps involved in deploying nginx ingress controller.

Install helm

helm is one of the popular ways of managing deployments into kubernetes environments. Use the below chocolatey command to install helm.

choco install kubernetes-helm -y

Register Repositories to helm

Add the default repository to helm using below command.

helm repo add stable https://kubernetes-charts.storage.googleapis.com/

Add the bitnami repository to helm using the below command

helm repo add bitnami https://charts.bitnami.com/bitnami

Once the above repos are added to helm. Search for nginx using the below command to ensure that we have pulled the latest nginx charts into the repository. Use the below command to search

helm search repo nginx

Deploy nginx ingress controller

Run the following command to install bitnami nginx controller on to the default linux nodes in the cluster.

helm install <deployment-name> bitnami/nginx-ingress-controller `
--set replicaCount=1 `
--set nodeSelector."beta\.kubernetes\.io/os"=linux `
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux `
--set-string controller.config.proxy-body-size=10m `
--set service.externalTrafficPolicy=Local `

Retrieve external ip for DNS

Run the following command to check the status of the ingress controller apps deployed into the cluster. Wait until the status changes to Running.

kubectl get pods -o wide -A

Run the below command to get the external ip of the ingress controller in the cluster. This returns a cname which can be used for managing the DNS entries going into the applications running in the cluster.

kubectl --namespace default get services -o wide -w bitnami-ingress-nginx-ingress-controller

Note: If you are working with a dummy DNS names you can perform a nslookup on the CNAME and extract the IP Address to add them to your local hosts file with the relevant host names.

Check out the other related posts:

Sitecore on AWS Kubernetes (EKS)

Chapter 1: Configure AWS and Kubernetes CLI

Chapter 2: AWS Kubernetes Cluster for windows workloads

Chapter 4: Deploy Sitecore into Kubernetes

Chapter 2: AWS Kubernetes Cluster for windows workloads

AWS has been supporting windows workloads in kubernetes since march 2019. The default cluster created only supports linux workloads, this article is a detailed account of how to create a kubernetes cluster in AWS for windows workloads.

Create Cluster

Create a new EKS cluster using the below command. This command creates the default nodes that have to be linux. These nodes host the default applications (pods) that manage the orchestration of kubernetes. Please ensure to update <Cluster-Name> and <Node-Group-Name> and adust the number of nodes accordingly. Its a good practice to have at least 2 nodes to ensure the high availability.

eksctl create cluster `
--name <Cluster-Name> `
--version 1.17 `
--nodegroup-name <Node-Group-Name> `
--node-type t3.medium `
--nodes 2 `
--nodes-min 1 `
--nodes-max 3 `
--node-ami auto

Export Kube config

Run the following command to export the kubernetes cluster configuration into the user profile so the context is set for kubectl

aws eks --region ap-southeast-2 update-kubeconfig --name <cluster name>

Ensure that all the default pods are in running state using the below command.

kubectl get pods -o wide -A

Install VPC controller

Install vpc controller to support windows nodes in the cluster using the below command.

eksctl utils install-vpc-controllers --cluster <Cluster-Name> --approve

Run the get pods command again to see the VPC controller pods running as per below and wait until all the pods are in Running status.

Create windows nodes

Create a node group with windows nodes to support windows workloads using the below command. Please update the <Cluster-Name> and <Node-Group-Name>. Adjust the number of nodes according to the need.

eksctl create nodegroup `
--region ap-southeast-2 `
--cluster <Cluster-Name> `
--version 1.17 `
--name <Node-Group-Name> `
--node-type t3.large `
--nodes 2 `
--nodes-min 1 `
--nodes-max 3 `
--node-ami-family WindowsServer2019FullContainer `
--node-ami auto `

Check the status of all the nodes running correctly using the below command

kubectl get nodes -L kubernetes.io/os `
--sort-by=".status.conditions[?(@.reason == 'KubeletReady' )].lastTransitionTime" `

Check out the other related posts:

Sitecore on AWS Kubernetes (EKS)

Chapter 1: Configure AWS and Kubernetes CLI

Chapter 3: Deploy nginx ingress controller into AWS EKS Cluster

Chapter 4: Deploy Sitecore into Kubernetes

Chapter 1: Configure AWS and Kubernetes CLI

AWS supports kubernetes workloads for windows through EKS and also supports use of command line interface for deploying and configuring resources. Using CLI makes it easy for automating this process through a CI/CD pipeline when required. This article guides through the configuration of CLI for AWS and Kubernetes.

Install and configure AWS CLI

Install AWS CLI using chocolatey

choco install awscli -y

Once successfully installed run aws --version to check if the cli is correctly installed.

Configure AWS CLI with the relevant access key for CLI. This can be generated using the My Security Credentials page through AWS Console. (detailed instructions)

Use the below command to start configuring the CLI

aws configure

Install CLI for EKS

eksctl is the command line utility used for managing the EKS cluster. Use below chocolatey command to install eksctl

choco install eksctl -y

Once successfully installed run eksctl version to verify the version (see below)

Note: eksctl seemed to only use default profile. If you are using named profile for aws cli. this will always use default profile. Hopefully in the newer versions of the cli this will be addressed by AWS.

Install CLI for kubernetes

Install kubectl using chocolatey using the below command

choco install kubernetes-cli -y

Check out the other related posts:

Sitecore on AWS Kubernetes (EKS)

Chapter 2: AWS Kubernetes Cluster for windows workloads

Chapter 3: Deploy nginx ingress controller into AWS EKS Cluster

Chapter 4: Deploy Sitecore into Kubernetes

Sitecore on AWS Kubernetes (EKS)

Sitecore with release of version 10 now officially supports deployments into container workloads using kubernetes. Sitecore has officially marked PaaS would be deprecated in the future releases (more details). This article is about how to deploy Sitecore 10 into AWS kubernetes (EKS). This article is broken down into four chapters as per below with a brief summary.

1. Configure AWS and Kubernetes CLI

AWS command line interface could be used to create or manage resources in AWS. This chapter guides through the installation and configuration of AWS CLI and Kubernetes CLI. Click here to start configuring your CLI.

2. Create AWS Kubernetes Cluster

A Kubernetes cluster needs to be provisioned to deploy Sitecore workloads. This chapter guides through the creation and configuration of AWS EKS Cluster. Click here to start provisioning the cluster.

3. Deploy ingress controller into EKS Cluster

An ingress controller is used to create external access to the applications deployed into the Kubernetes cluster. This chapter guides through the preparation and deployment of ingress controller. Click here to start deploying the ingress controller.

4. Deploy Sitecore into AWS EKS

This is the last chapter that guides through the preparation of the configuration files and deploying Sitecore into kubernetes cluster. Click here to start deploying Sitecore.

Credits

Credit to Gurpreet (Garry) Singh & Jason Umiker for sharing their knowledge and expertise on AWS EKS.

Aceik Announces Platinum Sitecore Implementation Partner Status

Today, the Aceik team is excited to share our new status as a Sitecore Platinum Implementation Partner.

Sitecore is the global leader in customer experience management software and this promotion recognises the partnership between the two companies and the commitment to deliver outstanding customer experiences through the use of the Sitecore platform.

Platinum Partners are recognised for their deep knowledge of Sitecore, thought leadership and best practices in delivering flawless customer experiences at scale.

Jason Horne, Chief Executive Officer at Aceik said, “This is the highest-ranking tier of partner status in the Sitecore network, and it is a recognition of the success and expertise Aceik’s team has demonstrated for our customers across the full breadth of Sitecore products.”

It has been a busy year for our team

In recent months, Sitecore recognised Aceik’s contribution to the Sitecore community with two Most Value Professional status and a Sitecore Experience Award Honorable Mention.

Aceik’s CEO, Jason Horne was recognised as a Sitecore Technology MVP for a fifth consecutive year alongside colleague, Thomas Tyack who was named Sitecore Technology MVP for the second year in a row.

Aceik was awarded Sitecore Experience Award (SEA) Honorable Mention in the Most Sophisticated Implementation category for its work with customer, RAA.

Last month, Aceik appointed Wayne Vickers, former Head of Customer Experience for the Australian Football League (AFL) as Chief Operating Officer and Creative Director.

The new hire demonstrates Aceik’s continued commitment to its Sitecore clients, as well as the Sitecore partnership.

People of Aceik: Thomas Tyack, Chief Technical Architect

Earlier this year, we launched a new series to introduce you to our talented and hard working team mates. They’re behind the success of our client’s projects – working diligently to ensure we exceed our customers’ expectations.

This month, we sat down with our recently promoted Chief Technical Architect, Thomas Tyack.

Tom, tell me about your background.

Tom: I grew up in Manly West, Brisbane, on a 12-acre property (before it was all housing estates).  My family also has a family farm near Kingscliff, New South Wales. So, I spent a lot of time traveling back and forth across the QLD/New South Wales border when I was younger. I attended QUT for university studying a bachelor of IT and afterwards spent 2 years in the UK where I started out as a Java Developer. Eventually, I returned to Australia and switched from Java to .NET. I’ve worked on .NET and Sitecore projects since around 2007.

Can you tell us a little bit about your Sitecore experience because you are a Sitecore MVP?

Tom: I was named a Sitecore MVP in 2019 and 2020 after spending the two years prior working towards the status. Sitecore recognises individuals who make community contributions, blog posts, open-source contributions and share and present at user groups.

I contracted for a number of agencies in Melbourne. And after a little travel and a move back to Northern NSW I eventually joined Aceik.

Tell us a little bit about joining Aceik, your role, and then your new role.

Tom: I started out at Aceik when it was very small consultancy. I went straight onto managing our key relationship with Fitness Life Group and building out Fitness First on Sitecore. RAA was the other major big project I was involved in. I spent a reasonable amount of time flying to Adelaide every second week.

Tom: Recently I have taken on the lead Architect role, which has me looking at Aceik’s processes and high-level delivery framework. We are continuously streamlining how we deliver projects and ways to provide rock solid consistency and great outcomes for our clients.

Why did you choose to join this Aceik Team?

Tom: Flexibility at first. It was a good opportunity. It’s been almost 4 years now and the interesting projects keep coming.

And why do you stay at Aceik?

Tom: Flexibility remains. We have some great technical minds on our team and it’s enjoyable to work them across different projects and achieve great results for our customers.

Is there a project or a project campaign in just few months that you have enjoyed working on?

Tom: RAA – it was a big challenging project and I am glad we were able to contribute our Sitecore expertise to help get that delivered.

Check out the case study and video here.

We are in the second wave of coronavirus and still working from home. How did you make it work for you? Any particular tip or advice that you have for working remotely?

Tom: Aceik has been working remotely for many years not just this period, so it hasn’t changed too much for me. Over the years I have managed remote teams and across many projects and it is all about keeping client communication constantly flowing. We let them know what we are doing, providing a morning update on top of stand-ups. The morning update is provided in Slack and is like a written ledger of what the team has done. The best part for the client is being able to review their project history over any given day.

Tell us about Tom outside of Aceik – who are you when you are not working? What do you get up to?

Tom: I have two young kids, two and four years of age, so life is pretty busy as soon as I get home from work. They both love the beach, riding bikes (or scooters) and camping so we spend our time doing those things on the weekend at the moment. 

Any tips or advice for those wanting a developer career?

Tom: Mention the technologies that you have worked with and those you want to work with. Basically, sell the projects that you have worked on, the achievements you have on those projects, and how you helped the client obtain their goals that would stand out to me.

But then if you do not have those skills yet, and you want to get into that space then work on open-source projects where you might be able to contribute. Essentially something that can show what your capable of. Having experience is very valuable but if you don’t yet have that experience show potentially employers what your capable of.

Aceik is looking for Solutions Architect and Developers at the moment. We’re after people who can work in a fast-based environment and solve problems.

Page Speed – The Smaller 7th Pillar – Micro Boosts

You may have read my previous blog post: One Performance Blog to Rule them all – Combining the 6 Pillars of Speed

This is just a quick update to list out some further optimisations that might help you achieve a few extra points.


Prolong the Cache Expiry Setting

The default cache expiry settings is 7 days OOTB in Sitecore. This is a little short for the likes of GTMetrix but may be passable for Lighthouse. I found it best to bump it up to 30 days (if you can).

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/">
  <sitecore>
      <settings>
	  <setting name="MediaResponse.MaxAge" set:value="30.00:00:00"/>
      </settings>
  </sitecore>
</configuration>

Web.config and applicationHosts.config changes

These three changes are from a blog written by Sergio Gisbert

1) Add the ‘Accept-Encoding’ header to responses:

<httpProtocol>
    <customHeaders>
        <remove name="Vary"/>
        <add name="Vary" value="Accept-Encoding"/>
    </customHeaders>
</httpProtocol>

2) Enable Dynamic compression on IIS (this should already be done if you followed the Sitecore setup document) and then add in specific mime types that need coverage to web.config.

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
    <dynamicTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/javascript" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="image/jpeg" enabled="true" />
        <add mimeType="image/jpg" enabled="true" />
        <add mimeType="image/gif" enabled="true" />
        <add mimeType="image/png" enabled="true" />
        <add mimeType="application/vnd.ms-fontobject" enabled="true" />
        <add mimeType="application/x-font-truetype" enabled="true" />
        <add mimeType="image/svg+xml" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </dynamicTypes>
    <staticTypes>
        <add mimeType="text/*" enabled="true" />
        <add mimeType="message/*" enabled="true" />
        <add mimeType="application/javascript" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="image/jpeg" enabled="true" />
        <add mimeType="image/jpg" enabled="true" />
        <add mimeType="image/gif" enabled="true" />
        <add mimeType="image/png" enabled="true" />
        <add mimeType="application/vnd.ms-fontobject" enabled="true" />
        <add mimeType="application/x-font-truetype" enabled="true" />
        <add mimeType="image/svg+xml" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="application/x-woff" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </staticTypes>
</httpCompression>

3) Update applicationHosts.config to compress SVG and JSON payloads. As Sergio mentions in his blog this has to done in applicationHosts.config. (great find Sergio)

<add mimeType="image/svg+xml" enabled="true" />
<add mimeType="application/json" enabled="true" />

GZIP your main HTML document

Google Page Speed insights calls this criteria “Text Compression” but this does actually make a download size difference if your HTML payload is large. After doing this I witnessed my initial HTML delivery drop from 130KB to 40KB.

Inside your web.config and the <httpCompression> tags we added just previously add the mimeType for document into both staticTypes and dynamicTypes.

<add mimeType="document" enabled="true" />

Cleanup all missing fonts and 404s

Be sure to check you network tab and make sure any missing font references or external resources are not throwing 404s. This will result in a score reduction particularly on GTMetrics.

Aceik adds Chief Operating Officer and Creative Director to staff

Wayne Vickers
COO & Creative Director, Aceik

Aceik is excited to announce the recent appointment of Wayne Vickers, former Head of Customer Experience for the Australian Football League (AFL) as Chief Operating Officer and Creative Director.

The new hire demonstrates Aceik’s continued commitment to its Sitecore clients, as well as the Sitecore partnership. The Aceik team is already in a strong partnership with both the Chief Executive Officer, Jason Horne and Chief Technology Officer, Thomas Tyack holding Sitecore MVP recognition over multiple years.

The appointment highlights Aceik’s desire to introduce more and more brands to the power of Sitecore, to enable them to drive personalised experiences and positive marketing ROI.

Vickers has more than 20 years digital experience, having worked client side for AFL, Myer, Quiksilver in Customer Experience and eCommerce roles, as well as founding two digital agencies that included brands such as Seek and Fosters.

“I’m thrilled to join Aceik. The agency has always shown outstanding technical Sitecore prowess, and I’m excited to take our Sitecore marketing and creative expertise to the next level, so we continue to help new and existing customers to grow their digital businesses through the use of Sitecore’s best-in-class marketing features,” said Vickers.

Jason Horne, Chief Executive Officer at Aceik said, “Aceik’s Sitecore knowledge is vast and our agility is unmatched. We keep up with evolving technology and can change direction more easily than larger companies, giving our clients the most innovative Sitecore solutions to their business problems.

Horne continued, “Helping our clients to realise the full potential of Sitecore’s experience platform is at the centre of everything we do. With Wayne’s digital experience expertise, we’re looking forward to creating stronger long term relationships with our clients and Sitecore”.

Aceik named a 2020 Sitecore Experience Award Honorable Mention in Most Sophisticated Implementation category for work with RAA

Aceik today announced it has been named a Sitecore Experience Award (SEA) Honorable Mention in the Most Sophisticated Implementation category for its work with customer RAA. The agency was recognised for RAA’s improved website performance, increased automation, making site services more efficient and providing customers and visitors with a better experience.

“We now have a great foundation for our primary digital channel, a more capable team and a business that has confidence in our delivery thanks to our partnership with Aceik,” said Matt Mitchell, Senior Manager, Digital Technology Services, RAA.

The Sitecore Experience Awards 2020 recognize brands that have built truly customer-centric digital experiences with Sitecore® technology. The SEAs are awarded to Sitecore customers and their partners whose entries clearly demonstrate that their Sitecore solution delivers an outstanding experience for all users from partner developers and internal customer marketers to business and IT users and end-user customers.

“We are honored to have worked closely with the RAA team to deliver this next step in the business’ digital strategy: a customer-centric website that not only meets the needs of their customers, but is now also recognized by Sitecore,” said Jason Horne, Chief Executive Officer, Aceik.

“Showcasing the complex capabilities and scalability that Sitecore enables for organisations and brands, we’re proud to recognise some of the most sophisticated implementations we’ve seen from customers and partners at the 2020 Sitecore Experience Awards,” said Paige O’Neill, CMO, Sitecore. “Helping organizations make data-informed marketing decisions, utilize content more effectively across channels and regions, and deliver more personalised experiences is at the heart Sitecore’s integrated platform. We have seen exceptional customer work this year, unlocking new levels of audience engagement and shortened time-to-market for content creation to provide superior digital experiences that drive ROI and deliver business value.”

SEA 2020 Honorable Mentions were selected as they demonstrated to the judges that they used Sitecore solutions to make notable impact in terms of experience or content management.

Through the rigorous selection process, each entry was judged by a panel of Sitecore leadership from that entry’s region. There are five regions that evaluated and approved all regional selections based on specific selection and scoring criteria.

Q&A with Sitecore Strategy MVPs

Last week, our fearless leader, Aceik’s CEO, Jason Horne joined a stellar panel, Sitecore Strategy MVP Q&A! as part of the Australian Sitecore Marketers Group.

Australians love an open dialogue, and Australian Sitecore marketers are no exception. This panel was the chance to ask a Sitecore MVP questions about personalisation, testing or marketing automation!

For this event, group organisers wanted to do something completely different – and taking a page from the popular ABC show Q&A assembled a stellar panel of Sitecore MVPs including:

Marty Drill – Moderator, CEO Luminary

Marty founded Luminary in 1999. One of the pioneers in digital, Luminary is a Sitecore Gold Partner that focuses on crafting experiences that are intuitive and engaging. A digital agency that has worked with hundreds of companies on countless projects across just about every industry there is. Luminary remains one of the oldest independent digital agencies in Australia.

Alison Sainsbury – Panelist, Director of Sitecore’s Business Value & Strategy Asia Pacific Japan

Alison leads the regional Sitecore SBOS (Sitecore Business Optimisation Strategies) team. She’s a global expert on optimisation in Sitecore, and has worked with customers such as Toyota, ExxonMobil, Blackmores and Brother to help them create and deliver optimisation strategies on Sitecore. Alison is also the author of numerous Sitecore guides and whitepapers, including UX4CX and the recently released Multisite Optimisation whitepaper, and works closely with the MVP community globally.

Greg Baxter – Panelist, Experience Director Codehouse

Greg was a founding member of Sitecore APJ, and spent 8 years working with Sitecore partners and customers with personalisation and optimisation . Greg has worked all over the globe with customers including The Australian Dept of Defence, Billabong, Church & Dwight, Huawei, Network 10, Stockland and Roche Pharmaceuticals. Greg is a three time Sitecore Strategy MVP.

Robyn Johnstone – Panelist, Digital Marketing Manager Minter Ellison

Robyn Johnstone is the Digital Marketing Manager at law firm MinterEllison. She is relentless in her aim to deliver outstanding digital experience in a traditional business with no shortage of content. She and her small team, work to optimise content though the use of profile building, personalisation and targeting. Robyn is a Sitecore Strategy MVP.

Jason Horne – Panelist, CEO Aceik

Jason is an expert in Sitecore solutions, and has delivered numerous large Sitecore projects, including RAA, Village Roadshow and UniSuper among many others. Jason is a technical leader who enjoys bridging the gap between technical and non-technical professionals to deliver innovative enterprise solutions built on Sitecore. Jason is a five time Sitecore Technical MVP.

Brady Clarke – Panelist, Technical Content Manager R/GA

Brady is the glue that ties Sitecore to content optimisation. He has broad front and back end technical skills combined with the marketing knowledge to drive digital campaigns, landing page optimisation and marketing automation. Brady has worked with customers like Toyota, Crikey and Smart Company. Brady is a Sitecore Strategy MVP.

Let’s get into the Q&A

With the format free form, expect the questions and answers to be varied.

Why do Google Analytics and Sitecore Analytics give different results?

Alison: Google Analytics is a JAVA script based client side tracking and Sitecore Analytics is ASP based service side tracking. Technically, they’re tracking slightly different things.

Google is also better at screening out bots and providing actual visitor numbers.

But you do need both. Sitecore Analytics will usually be a little higher but should only be 10% higher if more than that then you might be tracking some weird things (ie firing multiple times on a page). It’s good to compare the two sets of results as part of a marketing readiness scan.

What’s the most exciting thing about Sitecore 10 for marketers?

Greg: Where to start? Additional filters around analytics, and segmenting more tightly around profiles. Now able to manipulate actionable analytics which means campaign creation is much easier.

Can also more easily tell what goals have been converted by people in that campaign and what location they were in. Split filter by that dimension.

Also, Salesforce connector and updates to horizon.

Additional templates in EXM.

When I do profiles should I be using my existing personas?

Greg: Profile on higher level things at least initially. Profile around things like what kind of cheese you like, connoisseur lifecycle rather than Minnie or Mickey Mouse.

For personalisation – start simply by understanding what people want, where they are in the lifecycle and is there an opportunity to cross sell and upsell.

Robyn: I agree, keep it as simple as possible. You usually have a lot of content and building it out for all the areas is overwhelming. Ask yourself, are they interested in X or Y industry then personalise.  Then dig deeper for more sophistication.

How do we go about setting up taxonomies?

Greg: Plan for scalability. Taxonomies are really easy to set up technically. The biggest issue is thinking into the future. Roll them into campaign groups and around goals but take the time to sit back and think about possible campaign combinations that you may have.

Map out the taxonomies and consider what the ramifications might be on future marketing endeavours. Work out whether you wish to be super specific or general.

Another potential difficulty, if you’re building these out agency side can be getting client buy in for setting these up in a specific way. Be ready to justify the plan.

Robyn: Going campaign by campaign was most useful for my team. Sometimes campaigns are easier than the whole site as it is taking bite sized bits but obviously the con is not having a whole-site view.

Alison: Set up campaign groups, campaign facets, asset facets, goal facets. You need to have a campaign group and a channel. The rest around facets is optional. Also consider that you may wish to add your own new custom channels.

Can you each share some best practice examples of campaigns you have seen?

Brady: Toyota Corolla Hatch launch campaign – simple implementation, hectic turnaround (6 weeks). Personalisation with campaign tags based on 4 different channels including email for 5 different segments and incredible uplift compared to control groups. Display ads are usually a low conversion rate, but on this campaign we saw a 600% uptick for category leadership and 500% for owners.

Greg: Back in the day, it was a small regional bank, 2 week campaign and they wanted more likes than the Big 4 Banks and wanted visitors to switch to their home loan offering. They created an online game on a personalised website. The difference between the personalised campaign and the same campaign a year prior that wasn’t personalised was a 60% increase in direct sales.

Another favourite of mine is Auckland Airport with the goal of driving people to retail pages. Most retail sales at an airport are terminal spend. The set up campaign personalisation around products and drove 400% increase to terminal pages and people pre-ordering product when knew they had to travel.

Robyn: We now show other content because we know someone is interested in a particular topic. We sometimes have marketers in other areas ask why a PDF has been downloaded in a particular campaign – and it’s usually because of these triggers.

Jason: Village Theme Parks – some multi-site personalisation and campaigns, fed into whitepaper.

Any bad rollouts – what else should we not do?

Jason: Make personalisation part of the plan from the start. Start thinking about how to use personalisation and Sitecore marketing features in the discovery and design phases. Start with the end in mind. And go live utilising some personalisation immediately. Don’t make personalisation Phase 2 because you want to show tangible value immediately.

If you leave personalisation til Phase 2 there may be delays, budgets are cut back and then you aren’t demonstrating immediate gains. You need to show that you’re a profit centre and not a cost centre.

Robyn: Wish we had done that too.

Greg: Once saw a campaign with autotranslated content from English to Japanese. The system called ‘dolphins’ ‘sea monsters’ – so the tagline was basically ‘Come to SeaWorld and feed the Sea Monster’. Cultural sensitivity lacking.

Alison: Read and learn. How personalisation planning will impact the UX. Go live with a site that’s ready for personalisation.

#1 identify your goals and implement while site is being built. You can change the values later! Just pop them in.

#2 QA/UAT Testing – does it work. Create a campaign tag, give it to a few people, hit the link, go into analytics and check it worked, is analytics happening at all, do a TEST DRIVE! Have seen assumptions about analytics working and then it’s not once the site goes live. Sitecore is a Ferrari but looked around rather than given a test drive. Take the test drive!

Jason: If you’re going out to tender, always include that out-of-the-box features should work, test for that and make sure they are working. That’s also down to the implementation. Sitecore allows a lot of rope, which is great, but without a plan some people can hang themselves with it. If personalisation is not included in phase 1, it may not be set up correctly and then phase 2 becomes remediation (which is a drag).

Greg: Personalise around your highest value profiles and campaign. Look at the hero image and launch with hero image personalisation. It doesn’t add a huge amount to launch cost/to Phase 1. And then you know from Day 1 that personalisation does work. If your budget gets squeezed – don’t let personalisation walk out the door.

Jason: To enable these features is not costly because it’s built into the partner proposal. You just need to ensure it’s built into the RFP.

How do you account for lifestyle – future personalisations to this change? Ie home loan > insurance

Brady: Consider what is the length of the funnel for your industry? Toyota is a 2-3 month funnel length. You’re a Hilux person and probably want a ute. The funnel doesn’t work in 3 months time because you’ve probably already purchased.

How long do people spend on deciding and researching home loans? If you have a goal for a purchase then do not show that personalised pre-purchase content to people who have triggered that goal.

Greg: Create a goal ladder for the customer journey. If the visitor has bought home insurance then show car insurance, and inside, if they’ve bought both then showcase Frisbee insurance.

Sitecore Commerce has a bunch of goals in there around the shopping cart. If you’re looking at a purchase form for insurance, then absolutely track it. Figure out where visitors drop out on the form and take a look at the form to determine why they’re dropping out. Inject an A/B test into a form. And personalise someone who hasn’t completed the process (ie 50% of the form to go, 1 step left).

Is it possible to globally manage a rule that appears on multiple pages?

Jason: Yes. That’s what you should do so you don’t have a bunch of custom rules dotted throughout your components. Set up one rule and reuse them. Best way not to get lost.

Alison: One rule to rule them all.

Conclusion

Marty Drill wrapped up the session perfectly with “we’re no longer in the same boat. But we are in the same storm and people are being impacted in different ways and make a difference by reaching out to someone.”

Resources from the Sitecore team: