This space hosts concepts, the roadmap and the backlog. It is not meant for content related to developing projects with Magnolia. For this kind of information the community space should be used.
The Team Blog
Five key strategies for a successful digital marketing makeover
We’ve all seen those reality television shows where they makeover a house, a garden, even people. They effortlessly show how to go from drab to fab, ugly to beautiful, all packaged up neatly for us to follow.
I’ve not seen a television show that shows you in 30 or 60 minutes how to do a digital marketing makeover on your business. The reality is that it can be a complex piece of work, involving many marketing disciplines.
To help you we have come up with five key steps that you need to undertake to ensure you have a successful digital marketing makeover;
1. Understand your current customer journey
2. Know how much your technology is costing
3. Listen to your customers – analyse your data
4. Create an engaging customer experience
5. Refine and repeat
Step one. Walk in your customers shoes
To help you develop your strategy we suggest you do two exercises on your existing website. The first is open Google and type in a key word search that you think your customers or prospects would use to find your website. Remember, it may not be a branded search, it could be something like “how can I manage my cash flow”, if you’re a financial services firm or “where can buy widgets in Melbourne” if you’re a retail outlet or manufacturer.
Look at the results the search returns. Does your company website come up in the results? If it doesn’t, try different terms including your company name. Once you have results, click on the links. What page is displayed? Does the information on the page reflect the search term? Is the information up-to-date and accurate?
Is there a web form requesting more information or to have someone contact them? If so, fill out the form and submit it. What happens to that form? Does it feed into your CRM system? Does your marketing department get an email informing them there is a new lead?
This may sound like it should be simple 101 digital marketing, but you would be surprised at the results we have found for a number of our customers. In one case thousands of leads that went nowhere, thousands of opportunity to bring on new customers but no one was responding, what type of customer experience do you think that created?
We also found out-of-date web pages, in one case going back over a decade. You have to remember that your prospects are using your web pages to do research on you before they contact you, what do you think they would make of you if your news section was last updated in 2005? If this company is so out of date, how can they help me?
The second exercise is to map all of the customer touch-points you have in your company, both online and offline. How many are there? Is the experience consistent? If you have a customer service desk, call it; how does it take to get through, can they help resolve your problem, does their tone and response reflect your company values?
These two exercises will give you a picture of your current state of play, and allow you to start to develop a strategy to close the gaps that should be the basis of your digital marketing makeover.
Step 2. Is your technology costing you customers?
Technology has changed rapidly over the past few years. Scott Brinker, aka @Chiefmartech published a Digital Marketing Landscape graphic in January 2015 which showed just under 2,000 technology players across a number of functionalities including, Search engine marketing, social media, email, marketing automation and data.
How does your existing digital marketing technology stack up? Do you know how much it costs to run? One client we worked with discovered it cost them $6,500 to make a simple text change on their web site! To add insult to injury it also took their technology team three weeks to make the change! In today’s fast paced environment seconds count, you cannot afford to have technology impact your customer experience.
Do you know what technology your customers use? Most web searches conducted today are done on mobile devices – tablets and mobiles. Does your website scale to fit the device being used? Today if your website is not responsive, you risk losing customers. In the airline industry, most of the airlines have developed fantastic tools and websites to respond to their customer needs; however I am still amazed that a number have not.
Step 3. Analyse your data – listen to your customers
Riley Newman, a data scientist at Airbnb is quoted as saying “Data is the voice of your customer. Data is effectively a record of an action someone in your community performed, which represents a decision they made about what to do (or not) with your product.”
When did you last look at analysis from your website? What did it tell you and what did you do about it? There are a number of great, free, web analytic tools available for you to use today. These tools offer you basic insights into how many people visited your site, how long they stayed, what pages they looked at.
The average attention span is now around eight seconds – that about the same amount of time as a product on a supermarket shelf has to attract your attention, if your web site is not holding visitors attention, how can you demonstrate your value proposition? For B2B companies this is a key challenge, especially for complex products.
If you are prepared to make an investment in some advanced web analytics tool, you will be able to get deeper insights into customer and prospect behavior on your site, right down to where did they go before and after your site.
Step 4. It’s all about the user experience
The first three steps will help you understand your current user experience and help direct where it should evolve. Today responsive design in a website is a must, so make sure your site provides a great UX across all devices.
UX is more than graphic design. It is about how do you make it easy for people who are going to use my website to find information, navigate through, place and order, and ask questions. Is it going to recognize them each time they visit? Will it learn from their browsing behavior and make suggestions for where to go next or automatically change the content based on the context of their search?
Good UX will do all of that and more. It should also be able to surprise and delight but not seem creepy or too one side – asking for a lot of information, but giving little in return.
You should also ensure it is accessible for people with disabilities. Statistics show 1 in 7 people have some form of disability, from something as simple as colour blindness, right through to more profound disabilities, how does your website score against the W3C Accessibility Guidelines?
Step 5. Refine and repeat
This is not a set and forget exercise. Each step along the way should be reassessed and refined as you start to gain engagement with customers and prospects. Did you map all of the touch-points? Does your technology work more efficiently and effectively, can you get to market quicker? Was your analysis and assumptions correct? Can you get more data points to support new product development or services? Did the new UX deliver greater stickiness on your site, create more sales or garner good feedback?
By creating a cycle of continual improvement, you will find it gets easier to make changes and enhancement, create business cases for additional budgets or resources as you’ll have detail analysis to support you case. Step change can keep you in front of your competitors, and keep your customers as they see you as a dynamic organization attuned to their needs.
Jeffrey Evans, Vice President of Digital, Asia Pacific Epsilon
For over 20 years Jeff has been working at the intersection of Marketing & Technology in the IT&T and financial services sectors. During his career Jeff has worked with ICl, Fujitsu, Nortel Networks, American Express and Epsilon in roles that focus on ensuring marketing technology aligns with business strategy and delivers engaging customer experiences.
While at American Express Jeff has rolled out CRM, Marketing Automation, and Content Management & Data Management Platforms at a regional and global level. Working side by side with Technology and Marketing Jeff has been able to develop business aligned IT roadmaps that drive investment in lead generation, technology capabilities and sit at the foundation of sales & marketing strategies.
YAML extensions for lighter development: to JCR and beyond
In this post I'd like to feature a small module I've developed that aims to improve the Magnolia configuration experience. More than a year ago we started an effort called Light Development which, among many things, implied new ways of configuring the essential Magnolia CMS components like templates, dialogs, apps etc. As a result we have gathered the previously not related registries of such components under the common API and introduced the notion of configuration sources. So far, existing sources include the good old JCR and the new YAML implementations.
Configuration via YAML seems to have been warmly welcomed by the community proving itself to be more expressive and concise than JCR version and also easier to manipulate - just open a YAML file in a favorite text editor. However, there is one feature that YAML configuration source still lacks (mostly) - component inheritance, also known as JCR's extends property. Of course, there is there is the !include Yaml tag which allows to inject a verbatim copy of one YAML file into another. However, unfortunately, until now it was not possible to modify the injected data.
With no further ado please meet my light-yaml module which proudly claims to fill this gap and even go beyond it!
(Photo credit: http://www.tor.com/2014/11/07/toy-story-4-announced/)
What's in it?
Light-yaml provides a set of YAML tags making it possible to configure things by extending and tuning other components' configuration from different sources:
How does it look?
Now we are going to take a look at some well-known dialog configuration samples enhanced with the new YAML capabilities. Let's assume we have a module called e.g.
Now it's time to add some reusable data in a couple of YAML files. First the file will pre-configure a sample form tab. The special part here is that the tab includes the field definitions from the JCR sample above!
Now let's create a custom dialog definition based on the snippets above:
So what we have got so far? We have created a dialog definition with one tab with four fields, two of which come primarily from JCR (foo and bar), one added by the /light-yaml-sample/samples/sampleTab.yaml file (baz) and one that is defined in the resulting file /light-yaml-sample/dialogs/dialogA.yaml (qux), in which we also override a property of field definition from JCR (type of field foo). Pretty powerful already, right?
To complete the picture, let's now create another definition which extends and alters the dialogA via registry reference:
How does it work?
I won't bore you with too many of the implementation details here: for those who are interested - the source code is available in our git repository. However it's worth highlighting several techniques that bring those funky extensions to life:
How do I start using it?
Easily! Currently the module automatically replaces the current YAML configuration sources with the extended one for all the modules. The old files should still work thanks to the backported !include directive. Otherwise the system should be ready to be extended with the new annotations/ All you need to do is to add the following dependency to a web-app:
That's about it - hope you'll like it! Feel free to contact me with any feedback about the module, the PRs are welcome in the Git repo and the bug reports can land in the JIRA project. Also feel free to talk to me at our conference in June - I'd love to know your opinion and thoughts on how we can push Magnolia configuration capabilities even further.
At the moment the partial extension of a YAML file is not yet implemented - doesn't seem to be too hard, just a matter of time. Also it is an open question whether the annotations should follow the JCR's pattern and be called extends-... or stay as they are right now (without 's' at the end), probably in the next version - both variants will be supported. Stay tuned!
Empower your e-commerce marketing team with apps
Let’s face it. The marketing team has never been the strongest department in ecommerce companies. Logistic or Supply departments are in charge of the main goods, the product you sell. So they’ve always had that extra bit of power, and thats why e-commerce systems created 10 or 15 years ago fulfilled the requirements of these business functions.
The core purpose of the e-commerce was (and still is) to organize the product catalog in an efficient way, to manage orders, customer information and to link everything to the logistic and supply elements.
Nobody can deny that the content management element is no longer aligned with the changing expectations and challenges of digital marketing teams.
Answering marketers expectations
In the previous article, I looked at the main challenges of the marketing team. On the one hand they have to deal with a lot of content coming from various sources, and on the other hand they have to organize all this content well and publish it to all their multiple channels.
Digital marketing teams need a system that’s easy to use and allows them to deal with any kind of content. They also need to be able to easily build web experiences like new campaigns, product landing pages, social campaigns and emailing campaigns. They need to be be able to work quickly. They can’t wait 1 or 2 weeks for the product catalog to be updated with the right assets or description.
A connected content management system
The best tool to help the digital marketing team of an e-commerce organization is a content management system (CMS). It needs to be easy to use and flexible, as well as tailored to the specific needs of the team.
It’s also vital that the system is seamlessly connected to the product catalog and other important assets or applications of the organization.
Seamless integration with core e-commerce content
Let’s first think about the connection with the product catalog. The marketing team will need to interact and reuse content coming directly from the product catalog.
Magnolia offers a standard mechanism providing a direct access to the various e-commerce catalogs. No need to login to another system: from the same interface all the products are available.
You can easily browse the categories, pick the product you want and highlight it in your next marketing campaign.
The core ecommerce content is directly visible from Magnolia. And whenever there is a new product in the catalog, it is automatically availble in the CMS. No sync issues.
For more technical details, go to Magnolia’s technical documentation.
Apps to manage content
E-commerce doesn’t work unless it goes side by side with great content. Now let’s try to figure out how to manage the marketing content.
Magnolia provides a great tool to organize content with its Magnolia content apps. When we created this system some years ago, we were sure that many others would do the same. But there are still some people who haven’t realized how content apps can absolutely revolutionize the way your teams deal with content.
In short, a Magnolia content app provides a dedicated view in the system displaying a specific kind of content. You can interact with this content (modify, create, publish, or more). This content can come from anywhere.
Magnolia provides a lot of apps “out-of-the-box”. And even better, as you might want to interact with your content in your own way, you can even create your own content app. A content app just for you, answering the specifities of your business.
And the last great thing: each single person from your team can have a different set of apps to work on.
For example, Tim is in charge of guest bloggers. They are using the Magnolia Blog App to create new articles. Tim makes the fine tuning and links each articles with products from the catalog.
At the same time, Jim is a graphic designer. His main Magnolia app is the Digital Asset Manager. He is feeding the system with great banners, advertisements and promotion videos.
What could you use apps for?
Do you want to aggregate contribution from your Instagram followers and push the best ones the home page? Well, it’s really easy to build an app for this.
Such an app could:
Deliver the shopping experience
So we’ve already solved one piece of the puzzle. We can deal with all the marketing content. Now we have to assemble everything to make a great shopping exepricence.
To create the shopping experience, the last but not least Magnolia application is the Pages App. It will help you to assemble of all the pieces.
A more adavanced and common scenario will be to have dynamic container of content on your page. A container will automatically grap the content that is needed.
So for instance, when a new instagram post is validated and tagged with “home”, it will appear on the home page. No need to update the page here. The system does it for you.
For ominichannel and personalization, Magnolia is also capable of optimizing the experience per channel while rendering specific content to a specific audience.
And now, it’s your turn to make this happen
In the end, nothing matters if your content is not appropriate.
Firstly, think content first:
Secondly, use Magnolia and its content app approach to tailor the system to your need:
If after all of this, you are still struggling with your content strategy, don’t hesitate to give me a call.
How we boosted Magnolia response times with dynamic page caching
A few months ago my colleague Alexander Wert and I were helping a client from the banking sector to improve the performance on their newly deployed web application. The application in question is used for a wizard-based step by step data submission, but at the time was having an unsatisfactory load time.
We started with a quick check using the Google developer tools, just to get a feeling where the time was lost. As time was lost equally on server and browser, we decided to check the server-side first. The server-side was running Magnolia on top of the Tomcat server, so nothing special actually. We chose inspectIT(open-source APM tool for java) for the performance diagnosis and adapted the Tomcat start script to start with the inspectIT agent.
Out of the box we were able to get the basic information about HTTP request timings – with one user accessing the start page the average response was approximately 1.6 seconds. Knowing that Magnolia was used as the CMS, we instrumented application services and Magnolia filters and rendering engine classes. This was done in order to get more information on where exactly the time was lost – the Magnolia or the application services.
As inspectIT provides detailed trace information for every request, we got the information we were looking for. Here is a screenshot from the tool showing one request execution path:
As you can see 99.9% of the HTTP request time (1.617s out of 1.624s) was spent in the Magnolia’s DefaultRenderingEngine.render() method. This method seems to be recursive and it’s rendering one-by-one all the elements that will be displayed on the HTML page. In addition, the reported CPU time of the method is approximately the same, meaning that the method is fully utilizing the CPU. This was an obvious problem, because the CPU will become the bottleneck as soon as more than one user is accessing the page. Furthermore, we concluded that the start page displayed to the user is always the same and has no dynamic content whatsoever, but on the other hand rendering is happening with every request. So we wondered if the caching can help us here.
Luckily enough, Magnolia introduced the Dynamic Page Caching module from version 5.4. The operations installed the module quickly and we were able to test again. The inspectIT proved that the caching was doing its job – the requests were executed in a few milliseconds. How cool is that:
For the end have a look at the comparison in the Google Developer Tools Timeline for that first HTML request. Dynamic caching gave us a great performance boost and better experiences for the user. Thus, take the inspectIT or any similar tool, get a better insight into your application and try to improve performance today.
Google Developer Tools Timeline without dynamic caching
Google Developer Tools Timeline with dynamic caching
Ivan Senić, NovaTec Consulting GmbH
For more than 5 years now, Ivan Senić has been part of the Application Performance Management department at NovaTec Consulting GmbH. Ivan is involved in the core development of the open source performance monitoring tool inspectIT and other APM related topics. He took part in numerous performance firefight projects, where he helps in identifying the performance problems and in providing solutions. In addition to the performance diagnosis and the development of APM solutions, his goal and passion is to establish tools, activities and mindsets as an integral part of software development processes to guarantee high performance application.
Using content to convert in e-commerce
E-commerce doesn’t work unless it goes side by side with great content.
You may have heard about “content-driven commerce websites”, “e-commerce content marketing” and “the fusion of content and commerce”.
Well, it all comes down to the same thing. If you want to be successful, your e-commerce website has to create appealing experiences and build a story around your products. You have to go far beyond the traditional catalog view and work hard at building brand loyalty to generate more sales.
Your number one task is to engage your consumers. I’m certainly not the only one to think so.
“[Online] Retailers that go beyond selling a product and tell a story to establish a firm brand identity and to build a one-to-one relationship with their customers are more likely to thrive.” - Jack Lowinger, CEO of Cartonomy (appseconnect)
Back in 2014, we built the first integration with Magnolia 5 and an e-commerce system (thank you Greg). One of the first questions we tried to answer was “Why does e-commerce need content?"
In essence we concluded that too many e-commerce sites behave like supermarkets. They create shelves to put your products on display and just leave them there, hoping that customers will pass by and pick them up.
But in the digital age, that doesn’t work. To build customer loyalty, to improve retention rates and turn micro-moments into a sale, what do you need?
You need a great customer experience. You need content. You need great content.
Don’t confuse core content with marketing content
Firstly, let’s get one thing clear. You may have a lot of technical information, but that’s not marketing content.
So what is core e-commerce content?
Core content is vital to e-commerce, but it doesn’t really influence the user's shopping journey. It just provides her with basic information about the product.
So what is e-commerce content marketing?
Today, I want to look at five main categories of content marketing.
1. Content for Search
If you want to rank high in Google’s organic search listings, you need to add new and relevant content constantly. You have to contrast the static, core e-commerce content with news and articles about your products where you create a story around them.
Find good stories about your product, how they are used by other customers or about the evolution of this product over the year. Look for guest bloggers or influencers to write about your product, and keep up to date on best SEO practices.
2. Social Content
This is the content that comes directly from your social community. It is a great way to showcase what your customers are doing with your products in a fun and engaging way.
Make the most of users’ social streams. It’s essentially free marketing for your product and users trust other user reviews more than the brand, so make the most of it. Show a picture gallery of your instagram on your site rather than your own image gallery.
3. Storytelling content
OK, so they tell us that storytelling content has to be educational, helpful, and hopefully even entertaining. After all, it gives your core e-commerce content more strength and emotional pull.
But what is this content exactly?
Let’s start with the basics. Make sure you have a good headline that will entice your customer. Instead of adding a 1000 words description, use high quality images. A picture is worth a thousand words.
The holy grail of storytelling content is the one that combines images, that even move, with sound… Yeah, I’m speaking about video. Videos are really great because they can provide a lot of information and if they are well done, they are likely to be shared. giving you the chance to increase your conversation rates.
4. Personalized content
Personalized content is content that corresponds to your profile, to your shopping history. If done correctly, it is content that you want to see. In the context of e-commerce, the most popular example of personalized content is product recommendations.
Thanks to different parameters like location, navigation history and recent purchases, we can deliver live personalized shopping experiences based on the customer journey.
The ASOS instagram account shows a simple example: when you click on the link in the bio, you’ll start your shopping journey with a list of products seen on instagram. Advanced personalization journeys involve complex segmentation of your audience (or even predictive-based micro-segments).
5. Content for Conversion
You are right if you’re thinking that all marketing content is supposed to convert. Your global marketing strategy is in place to generate more sales, right?
Right. But here I want to speak about specific kinds of content. Do you know the feeling when you’re hesitating about buying a product? You want it, but you still have some unanswered questions. Well, this is the kind of content that will turn that hesitation into a click on the shopping cart icon.
Content for conversion is proof to your customers that they are in safe hands.
To prove this, you have many different options and all of them define a client opinion. This could include user generated content or customer generated content such as; frequently asked questions, comments and product reviews.
Talking personally, this is the content that influences me the most. How about you?
What about content lifecycle?
As well as thinking about types of content, you need to consider its lifecycle, or basically “how often is the content updated?” While core e-commerce content is only updated in a matter of weeks and, more often, months, marketing content needs to be kept fresh and is often updated on a daily basis.
Just to give you some examples:
What you need to remember is that the lifecycle of content marketing for e-commerce doesn’t necessarily align with the lifecycle of the product in the catalog.
Mix and match content for a multipoint shopping experience
To avoid any confusion, I want to make it clear that I don’t think all these types of content are living in silos (as the different diagrams might imply). For successful content marketing across e-commerce, the customer needs to see a combination of this content through his journey.
Mixing and matching can be tough, especially when you consider the different dimensions of the content: type, lifecycle, contributors and sources.
And to make things even more complex, we also have to consider that the customer navigates through many touchpoints during her shopping journey. She could start browsing from her mobile, maybe from a social network in the train on her way home from work. A few hours, or even days later, she might complete the journey on the e-commerce website from her laptop on the sofa.
The next challenge is, how do we deal with all of this content? How can core e-commerce content get along with e-commerce marketing content? Well, I’m going to save that for my next article..
Work in progress
- The current work can be found in the Greenhoper Kanban Boards on our JIRA.
- We move gradually concepts into documentation. Consult our Changelog page and sub pages
- This information is then integrated into the official documentation and release notes
Magnolia team members are blogging (contributors in alphabetical order):
Andreas - Revisiting the Magnolia UI
|Magnolia app design guidelines are go!|
|Magnolia 5's Editing Flow|
|Favorites: your personal space in Magnolia 5|
|Can a User Experience be designed?|
|Never miss a beat with Magnolia 5's Pulse|
Boris - BetterFasterBigger
|The curious case of the missing "management" in content management systems|
|Jackrabbit Oak – the revenge of the JCR API|
|What does Magnolia do?|
|Happy 10th Birthday, Magnolia|
|The future of content management: industry insider predictions|
Federico - The joys of craft
|Magnolia, REST and angularjs. A proof of concept.|
|Magnolia Apache Solr integration|
|Magnolia Groovy module 1.0-m2 video|
Jan - rah003's blog
Philipp - Magnolia CMS and beyond
|Magnolia Turns Ten: 7 Tips for Creating Long-Lived Software|
|Magnolia CMS 5.0 - Milestone 3|
|Magnolia CMS 5.0 - Architecture manifests|
|Groovyness - the agile paragraphs|
|Magnolia CMS 4.4 - Milestone 1|
Teresa - Teresa @ Magnolia
|JCR-SQL2 optimize queries samples|
|How to see the status of timed activations|
|Magnolia Blossom Module, STK Module or both?|
|JCR search text ignoring umlauts, accents|
|Importing tags with Groovy|
Tobias - Tobias Mattsson (Magnolia)