MultiMinds: Your Digital Analytics Partner http://www.multiminds.eu Manage - Measure - Monetize Tue, 20 Jun 2017 07:50:00 +0000 en-GB hourly 1 https://wordpress.org/?v=4.8 http://www.multiminds.eu/wp-content/uploads/2016/09/cropped-favi-1-32x32.png MultiMinds: Your Digital Analytics Partner http://www.multiminds.eu 32 32 113448895 Using R to create a trended report from Adobe Analytics http://www.multiminds.eu/2017/05/23/using-r-create-trended-report-adobe-analytics/ http://www.multiminds.eu/2017/05/23/using-r-create-trended-report-adobe-analytics/#respond Tue, 23 May 2017 08:28:57 +0000 http://www.multiminds.eu/?p=3012 The post Using R to create a trended report from Adobe Analytics appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

If you frequently work with Adobe Analytics, you probably created trended reports as well. It’s a great tool; but recently I bumped into a small issue. I got a question from a client, for which – I thought – I could easily give them an answer.
But soon I noticed the issue wasn’t so easy to solve. Without going into any further details, this was my problem:

I needed a trended report, for 7 variables. But Adobe puts a limit of five on this, so there were always 2 variables missing. (For your information, the same limitation to 5 variables is set by Google Analytics as well.)

If you have Adobe Premium; this issue could be easily fixed by using the Workbench. And if you have a Windows computer, the problem can also be fixed by using the plug-in for Excel.

But guess what, I work on a mac, and I don’t have Adobe Premium. If I pottered long enough, I could have fixed something with the use of a virtual machine such as VMWare Fusion (this runs alongside MacOS X), but this would be too much of a hassle.

Because of my background in data analytics, I decided to look into R, and there the answer was awaiting! R Studio, as so often, was my savior. I could find some information online on how to use R to create a trended report with more than 5 variables, but it took going back and forth between a few sites to finally get the solution. So, without further ado: here is the detailed guideline on how to create a trended report in R using the RSiteCatalyst package.

If you are already experienced in R, you may skip the first step. Just to provide a complete guide, I documented all my steps.

1. Set your working directory

First things first, make sure you are in the correct working directory. This is important if you want to save your data later. Setting up or changing this is very easy:

2. Install package

This step is easy, just install the package and activate it.

3. Authentication 

If you want to get data out of your Adobe analytics account, you need to authenticate yourself. Therefore, you need to know your key and your secret. Both can be found in Adobe Analytics through this way:
Admin > admin tools home > manage company settings > Web services.

Here you can get an overview of the people who have access, their name, username and shared secret. Under “key” you have to put your Web Service Username (this is your login followed by your company, and separate by a colon). Under “secret” you have to put your Shared Secret, this is a combination of letters and numbers. The code goes as follows:

4. Report suite

Select the correct report suite out of which you want to extract your data. To get an overview of the report suite ID and name just type GetReportSuites(). The rsid name is the one you will need in the next step to indicate out of which report suite you want to extract the data.

5. Creating the trended report

We can already create our trended report! It is super easy, here is the code

As you can see, I worked with a classification. You do not have to use this when you don’t need it. The reason I created it was because I had dates in Adobe Analytics, but needed names of the week. So, I created a classification summing up all the same days of the week.

Just be complete, a short description of the different options you can use in this trended report:

[table id=1 /]

The trended report automatically shows the date in the first column. If you want to put this in a different format, such as days of the week, you can use this code:

You may also notice some empty columns, automatically added in the trended report, such as url, segment.id and segment.name. If you do not want to see them (when you did not fill this in) you can just remove them easily by typing:

Now you have a great report showing more than 5 variables. Here is how I visualized it:

This gives you a similar graph as in Adobe Analytics, but containing more than five values.

The last thing I did, and which you may have noticed as well, in Adobe Analytics you can also select the day of the week that you want to see in the trended report. For example, only Saturdays, or only weekdays. This can be solved as well. I did is as followed, just by aggregating the data per day of the week. There is probably a shorter code for this, I am not an R wizard yet, but it works.

This gives you separate reports per day of the week. To give you a better idea of what I mean, here is an example of the above for Friday and Wednesday, visualized.

Hopefully this can help you, in one way or another…

If you have a comment, question, better code, encountered the same issue or any remarks concerning this article, please put it in the comment section below. The more we know, the better!

That’s it for now, see ya!

Lara

The post Using R to create a trended report from Adobe Analytics appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
http://www.multiminds.eu/2017/05/23/using-r-create-trended-report-adobe-analytics/feed/ 0 3012
Why The Latest Forrester Wave on Digital Intelligence Doesn’t Make Sense http://www.multiminds.eu/2017/04/20/forrester-wave-doesnt-make-sense/ http://www.multiminds.eu/2017/04/20/forrester-wave-doesnt-make-sense/#comments Thu, 20 Apr 2017 09:24:53 +0000 http://www.multiminds.eu/?p=2997 The latest Forrester Wave on Digital Intelligence platforms is out (The Forrester Wave: Digital Intelligence Platforms, Q2 ’17). It is no surprise that Adobe is leading the gang, again. It seems they are leading almost every Forrester Wave that is out. But it is also fully...

The post Why The Latest Forrester Wave on Digital Intelligence Doesn’t Make Sense appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
The latest Forrester Wave on Digital Intelligence platforms is out (The Forrester Wave: Digital Intelligence Platforms, Q2 ’17). It is no surprise that Adobe is leading the gang, again. It seems they are leading almost every Forrester Wave that is out. But it is also fully justified: they are one of the only vendors that have actually managed to integrate all their different solutions into one efficient platform, but also offer them as standalone solutions.

This latest research on Digital Intelligence Platforms is not purely focusing on digital analytics solutions, but goes way broader. Hence the evolution of the market and its maturity growth.

The focus in this latest review is based upon 3 main capabilities:

  1. Data Management
  2. Analytics
  3. Optimisation

It would make sense to me that only solutions that have capabilities in all 3 areas would be included. But apparently for this research it was good enough to be active in only 1 area to be selected. As a consequence, I personally find this comparison completely irrelevant.

Of course Optimizely and Mixpanel will score far less than Adobe. Optimizely is a pure optimisation player and Mixpanel an event driven behaviour analytics solution. While Adobe brings (integrated) data management, analytics and optimisation capabilities to the table.Forrester Wave: Digital Intelligence Platforms

It’s comparing a car to a bicycle.

But the Wave included some more surprises.

Although Google competes in each of the 3 capabilities, and provides integrated solutions (Tag Manager, Analytics, Optimize, BigQuery, Attribution, …), they are perceived only as a Contender, and not even as a Strong Performer anymore (compared to the Digital Analytics Wave of 2014).

Both on a strategic level as well as looking at the current offering, vendors such as IBM and SAS are perceived as stronger competitors than Google. Based on my experience as stakeholder and decision maker in multiple RFP procedures, I find this evaluation quite strange. In fact, I have no idea why IBM is still present in these market researches. Their Watson platform is pretty cool, but most of their other solutions require so heavy maintenance and so NOT agile in the current and future digital space where companies need to (re-)act quick.

Anyway, on a slightly more tragic note: for the first time in decades, Webtrends is no longer part of the solutions that are included in this research. This is the end of an era…!

Although we all saw it coming: Webtrends Analytics was still based on log file analysis, and the long announced Infinity Suite wasn’t ready to go to market. So the acquisition of the Infinity Suite by Oracle in March 2017 wasn’t really a surprise. I had expected it much earlier.
But expectations are high on the future Oracle offering and what they will bring to the table. The Infinity Suite setup was very promising, and I am confident that they will become a strong contender for the current digital intelligence platforms, although the success will also depend on the level of integrations that Oracle will develop.

And what about Webtrends? Will they disappear forever? I guess not. They still have a solid client base, but more with the Optimize solution than with the former analytics solution. And as Webtrends was especially offering full services around Optimize, my guess is that they will build a (new) company around this offering. So if even Optimizely is included in this Forrester Wave, we’ll probably see Webtrends back as well next time. As well as Oracle, as one of the contenders.

Anyway, I do find these Forrester researches valuable but more for the individual scores per evaluated functionality than on a global level. And I found out about 2 solutions that are new for me: Cxense and Evergage. I have never heard of them before, but on first sight, they look interesting.

I’m curious to hear your opinion about the latest Forrester Wave. Or your experience with Cxense and Evergage. Feel free to share your thoughts below in the comment section!

The post Why The Latest Forrester Wave on Digital Intelligence Doesn’t Make Sense appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
http://www.multiminds.eu/2017/04/20/forrester-wave-doesnt-make-sense/feed/ 4 2997
Is your company ready for the GDPR? http://www.multiminds.eu/2017/03/06/company-ready-gdpr-prepare/ Mon, 06 Mar 2017 12:01:20 +0000 http://www.multiminds.eu/?p=2911 The post Is your company ready for the GDPR? appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

Take your agenda and on May 25, 2018, write down: “Take the day off”. It will be the most rewarding day because all your friends in the data industry will be hard at work. The reason? It’s the day GDPR will become law, and you will be totally relaxed because you are ready for it. Right? Right! Well just keep on reading if this all sounds a bit hazy to you.

Maybe you’ve been out of thouch in outer space on Elon Musk’s latest spacecraft for way too long: GDPR stands for ‘General Data Protection Regulation’ and will drain your company’s bank account if you’re not prepared. In a nutshell, you will need to have an exact inventory of the data you gather, who owns it, where it is stored and what contingencies are in place when a data breach should occur. If you want the details you can find the full write-up here.

So let me briefly explain how we can play a supportive role here. At MultiMinds, data is our bread and butter, we track websites and apps, and work our magic so you can decide what audience to target for your next ad campaign. From our perspective, in the context of the GDPR, we are known as ‘Processors’. We act on behalf or our customers to manage their data. Thus, by the nature of our work we have a pretty good grasp on how to handle online data. We operate at the source and have both the skills and the tools to evaluate data compliance on a continuous base.

Off course, the GDPR is broader than just online data. It covers any form of data and also has substantive legal ramifications. So, naturally, MultiMinds is not uniquely qualified to handle all these aspects on its own. That is why we partnered up with a ‘data management’ company and a legal party. The first ones are experts when it comes to information governance, information architecture, data quality and data lifecycle management. Their focus is to compare this with the GDPR requirements and the level of ambition of your data protection plan. To put it simply, while we take care of data flowing in from the outside world, they handle, register and inventorize all internal flows.

Also, to prevent a reactionary legal response, you want a legal team to join the party. These legal services include performing a legal data protection audit, bringing your data processing activities into compliance with legal obligations towards data subjects and data protection authorities, setting-up and managing data processing agreements with third parties, and regulating your international data transfers. They are also experts in drafting all types of legal documentation that the GDPR requires you to put in place. And when things should take a bad turn, they can represent you before the competent data protection authorities and national or European courts in all privacy-related matters.

We hope you now have a good idea why the GDPR is so important, and trust that MultiMinds is a competent partner to help you navigate this challenge. If you want to learn more or are convinced you need help to prepare for the GDPR, just give us a call and we’ll be happy to come over or setup a meeting. And instead of a threat for your business, we can pivot this to an opportunity that will prove advantageous in the long run.

The post Is your company ready for the GDPR? appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
2911
Announcing “Mindstorm”: a custom dashboard solution http://www.multiminds.eu/2017/01/15/mindstorm-custom-dashboard-solution/ Sun, 15 Jan 2017 12:38:19 +0000 http://www.multiminds.eu/?p=2805 The post Announcing “Mindstorm”: a custom dashboard solution appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

We have some exciting news to share today. A while ago we started working on our very first in-house product. MultiMinds has always operated as a service provider working with some of the best products and services on the market. Yet, sometimes these products fall short of what we want to achieve with them for our clients, and one of the areas where we always wanted to do better is custom reporting.

Project “Mindstorm” is the codename of a custom dashboard solution we’ve been working on. We’re still a couple of breaths away from a public launch and the final product name has yet to be decided, but we thought it would be fun to give away a little sneak peek.

Why the need for a custom dashboard service

A huge part of any digital analytics project is about measuring results and communicating data in the form of custom reports, ad-hoc analysis and actionable dashboards. For in-depth analysis and insights we have a lot of great products at our disposal. But for straight-forward reporting, we’ve used everything under the sun, never without some level of frustration. Between simple Powerpoint presentations, online dashboard services and visualisation software there’s always been a number of trade-offs. Powerpoint presentations are not sustainable, online dashboard services hard to customise outside their feature set and visualisation software usually trades in simplicity for functionality.

Vision and sneak peek

Our vision for “Mindstorm” is to combine all the advantages without the trade-offs. It’s a unique proposition because it is a “managed” custom dashboard service. Just like many of the online dashboard services it allows us to rapidly set-up data dashboards for our clients, but because “Mindstorm” is an in-house managed solution we can fully tailor our dashboards to the client’s exact needs. This means we can offer greater context, integrate with proprietary data that would otherwise be hard or impossible to do and deliver a quality dashboard service with unseen performance.

Let’s have a look at some of the key features:

Tailored Dashboards

With over 15 different visualisations our dashboards are highly customisable, both in form and function. Advanced segmentation, benchmarking or combining different data sources are just one request away.

Unique Design and Finish

For many clients brand is important. We go one step further than white-labeling and deliver dashboards that adhere fully to the client’s style guide.

feature-design
feature_mobile

Mobile ready

All our dashboards are designed with a mobile-first philosophy and are fully responsive. Want to check your stats on the go or use your tablet for a presentation. No problem!

Kiosk Mode

With a built in kiosk mode the custom dashboards are ready to decorate the halls, offices or meeting room of your company.

feature-integration

Deep Integration

“Mindstorm” is designed to easily connect with any service or data source. Be it Google Analytics, Twitter, MailChimp or an in-house data warehouse. We’ll connect all your data.

Contextual Info

Numbers are useless without contextual information. We’re working hard to add a number of features to easily provide the required context in order to optimally communicate your data.

feature-context

The Roadmap

We intend to roll out this service publicly in the coming months and we already started using “Mindstorm” as pilot project with some of our existing clients. We’ll keep you updated on the progress on our blog so be sure to check in once in a while. Or if you’re interested in learning more, drop us a line and we’ll get back to you.

The post Announcing “Mindstorm”: a custom dashboard solution appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
2805
Participation Metrics in Adobe Analytics http://www.multiminds.eu/2017/01/12/participation-metrics-adobe-analytics/ Thu, 12 Jan 2017 15:45:20 +0000 http://www.multiminds.eu/?p=2714 The post Participation Metrics in Adobe Analytics appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

Adobe Analytics offers many interesting features, and in my opinion, the participation metric is definitely one of them.
In this post I will talk about the benefits, why you should use them, and also teach you to enable them in your analysis workspace.

What is a participation metric?

A participation metric is a visit based metric that assigns full credit from success events to all values of a variable.
In simple words, it allows you to determine which pages, campaigns or any other custom variable values are contributing most to your site’s success. It assigns full value to all the touch points that lead to conversion.

Let’s look at an example:

The participation metric is often applied to revenue. If we want to know which pages customers visit before buying something, this would be an excellent case.

When you look at revenue, the value is allocated to the different touch points based on the selected allocation model. This can be “first allocation”, “last allocation” or “linear allocation”. If a customer goes from page A to B, then to C and finally buys something for 100$, revenue would be assigned as followed:

Linear allocation is the most used method. Participation is similar to this, except that full credit is given to all values, like shown on the right.

Using this you can say, for example, “out of all purchases, 67% went through the home page”. This also allows you to determine the pages that do not contribute to purchases.

How to enable them in your analysis workspace.

Participation metrics are not available in your analytics workspace by default. Normally they have to be enabled in the admin section, both for specific custom traffic variables or out-of-the-box traffic reports. But there is a way to make participation metrics available in another, easier way:

Step 1: Go to the calculated metric builder

You can find this under “components” > “calculated metrics”. Click on add and create a new metric.

Step 2: Create a metric

Let’s continue with the revenue example. Start by giving it an appropriate title, such as “Revenue participation”. If you want, you can fill in a description as well. In this case, we can change the format to currency, since we are talking about revenue.
Next you just drag and drop the metric “Revenue” from the list on the left to the definition box.

Step 3: set it as a participation metric

This is already the final step. It is that easy! The trick is simple. Next to revenue, in the definition box, you can select the “gear” icon (as indicated below) and select “visit participation”. That’s it, you created your own revenue participation metric.

The same procedure can be followed for any other conversion metric. Now your participation metrics are available everywhere, also in your analytics workspace.

 

The post Participation Metrics in Adobe Analytics appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
2714
Digital Marketing Trends 2017 http://www.multiminds.eu/2016/12/21/digital-marketing-trends-2017/ Wed, 21 Dec 2016 10:29:52 +0000 http://www.multiminds.eu/?p=2664 The post Digital Marketing Trends 2017 appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

A lot has happened in 2016 when it comes to digital marketing, and with 2017 just around the corner everybody wants to know which trends will continue and which new topics will emerge. As a marketer, digital analytics or business owner it’s your job to stay on top of things and make sure your company is ready for 2017.

From a complete shift in device-usage, to a strong increase in online sales, many trends of 2016 will keep booming in 2017. Concepts that were introduced in 2016 will become every-day products in 2017, just think about virtual reality or augmented reality (no, they are not the same). New concepts will be introduced, and content management and native advertising will become a big part of many companies’ strategies.

Download the infographic for free.

Take 2017 by the horns and get ready for a shift in the marketing landscape. Adapting new trends and learning how to implement and optimally use them will give your company a great advantage. This infographic offers you a nice and clear overview of the most pertinent trends for next year. If you would like more information, or help on improving your digital marketing, don’t hesitate to contact us. We will be glad to help you.

line

Download your free Marketing Trends 2017 PDF

The post Digital Marketing Trends 2017 appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
2664
Google Analytics and Tag Manager with Ionic and Cordova apps http://www.multiminds.eu/2016/12/06/google-analytics-tag-manager-ionic-cordova/ Tue, 06 Dec 2016 21:50:43 +0000 http://www.multiminds.eu/?p=2604 The post Google Analytics and Tag Manager with Ionic and Cordova apps appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

Recently we did a tracking implementation for a client with an online service that had both a standard website and a mobile iOS app. The app, however, was hybrid app based on the Cordova framework. It’s a technology that allows you to use standard web technologies to develop cross-platform mobile applications. And while this solution offers optimal flexibility and quick release cycles from a technological perspective, it also provides some headaches when it comes to analytics.

The hybrid app problem

Because a hybrid app is not a real native app, you can’t use the standard mobile tracking SDK’s created for iOS or Android. The app essentially runs inside a “webview” which makes these SDK’s useless. Also, while a hybrid app does resemble many of the characteristics of a web app, there are a number of differences between both environments that ensure that a standard Google Analytics implementation will just not fly.

To counter this problem there are a number of Google Analytics plugins available for Ionic and Cordova. But, while these plugins solve one problem, they also create another. By their nature, they are tightly integrated with the respective platforms and so are bound to the mobile app’s update cycle. You would need to wait for an app update every time you want to make changes to the tracking implementation, and as a digital analytics agency we prefer to work with a tag management solution that gives us full control over the tracking.

The Google Analytics Measurement Protocol

After playing around some possible solutions to our problem we found that implementing Google Tag Manager along with the Google Analytics Measurement Protocol offered a clean technical integration and optimal flexibility. Using this approach the tracking implementation and web logic are loosely coupled and a universal data layer can be used to send the data not only to Google Analytics, but to a variety of vendors.

This solution works just like your regular Tag Manager and Google Analytics implementation, but here we’ll replace the standard Google Analytics code with a JQuery javascript snippet that uses to GA Measurement Protocol to send a pageview or an event to Google Analytics. Our Ionic / Cordova app just needs to fill the data layer with properties and events, and the rest is handled in Tag Manager.

A step by step guide

To demonstrate this solution I will run you through every step required in order to send a pageview and an event from a boilerplate Ionic app to Google Analytics via Tag Manager.

Step 1: Create a boilerplate Ionic app

For our proof of concept we used the Ionic 2 tab template. You can user whatever Cordova based app you have at a hand, but if you want to follow exactly along with the steps, use the following command to bootstrap the app:

ionic start --v2 myApp tabs

Step 2: Create a new Google Tag Manager Container

Log into your Google Tag Manager account and create a new container. You should select “web” on the question where to use the container. This is because Tag Manager will run inside the webview of or mobile app.

Create a container

After you created the container you will get 2 code snippets. In our case we will only need the first snippet. The second is used in case the client doesn’t have javascript, and without javascript our app wouldn’t run at all, so it’s no use copying this over. Copy the first script and paste it after the opening tag in our index.html file (src/index.html). And while we’re here, if you don’t already use JQuery, add it before the Tag Manager script.

It’s important to know that as long as we don’t actually publish our container this script will throw a 404. So don’t freak out for now when this happens.

tag manager script

<head>
  <meta charset="UTF-8">
  <title>Ionic App</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <meta name="format-detection" content="telephone=no">
  <meta name="msapplication-tap-highlight" content="no">

  <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
  <link rel="manifest" href="manifest.json">
  <meta name="theme-color" content="#4e8ef7">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>

  <!-- cordova.js required for cordova apps -->
  <script src="cordova.js"></script>
  <link href="build/main.css" rel="stylesheet">

  <!-- Google Tag Manager -->
  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-N29PL2Q');</script>
  <!-- End Google Tag Manager -->

</head>

Step 3: Create a new Google Analytics property

Log into your Google Analytics account and create a new property. Here it’s important to select “Website” as the entity you want to track. All other options don’t really matter and you can input whatever fits your needs. After the property is created go fetch the tracking ID and copy it.

Create property
Copy property

Step 4: Create a data layer variable for your tracking ID and a random session ID

Go back to Tag Manager and create a new variable. The variable should be of type “constant”. Paste the Google Analytics Tracking ID as the value and name the variable “GID” (or anything else really)

tracking id variable

When using the standard Google Analytics script, an anonymous user id is created to manage sessions and identify returning users. However, if you use the Measurement Protocol you need to supply that ID yourself. In most real-life case you’d probably have a user ID ready, but as this is just a simple boilerplate app so we’ll create a random variable in Tag Manager as the anonymous user ID.

random session id

Step 5: Add the necessary data layer variables and create the required triggers

Next we will add some data layer variables that will hold our page and event info. The variables we’ll add are “screenPath”, “screenName”, “appEventCategory”, “appEventLabel”, and “appEventAction”. They should be self-explanatory.

data layer variable
Data Layer Variables

We’ll also create 2 triggers. One for sending screen views and one for sending events. The triggers will be of type “custom event” and the event names should be “appScreenView” and “appEvent”.

add trigger
triggers

Step 6: Create the Google Analytics Measurement Protocol Tags

Now we will need to create 2 Google Analytics Tags based on the Measurement Protocol. I will not go into detail about the Measurement Protocol itself, you can find the full documentation here. For this example all you need to know is that it is a way to send data to Google Analytics using a simple GET request. To help you out, Google also has a simple tool to create, validate and test a hit. If you’ve never worked with the measurement protocol I suggest you the hit builder tool to create your hits.

The first tag will be used to send screen views to Google Analytics. We create a measurement protocol hit using the hit builder to send the screen name and screen path, and replace the parameters with data layer variables. JQuery is used to send the actual GET request.

Use the following snippet to send a screen view and create the tag that fires on a ”appScreenView” event:

$.get( "https://www.google-analytics.com/collect?v=1&amp;t=pageview&amp;tid={{GID}}&amp;cid={{sessionID}}&amp;dt={{screenName}}&amp;dp=%2F{{screenPath}}", function( data ) {
    console.log("Send screen view to Google Analytics: {{screenName}}");
});

page tag

We now repeat this process to create an event tracking tag:

$.get("https://www.google-analytics.com/collect?v=1&amp;t=event&amp;tid={{GID}}&amp;cid={{sessionID}}&amp;dt={{screenName}}&amp;dp=%2F{{screenPath}}&amp;ec={{appEventCategory}}&amp;ea={{appEventAction}}&amp;el={{appEventLabel}}", function( data ) {
  console.log("Google Analytics event");
});

event tag

Our work in Google Tag Manager is now complete and we can publish the container.

Step 7: Populate the data layer in your Ionic / Cordova app

To actually trigger our tags and send the correct data to Google Analytics our app needs to populate the data layer. This is done by interacting with the javascript data layer object. (full documentation can be found here). For our quick example I’ll show you how to send a pageview and send an event from an Ionic component. Obviously you can to this from anyplace in your app.

import {Component} from '@angular/core';

declare var dataLayer: Array;

@Component({
  selector: 'page-about',
  templateUrl: 'about.html'
})
export class AboutPage {

  onScreenLoad() {
    dataLayer.push({
      'screenPath': 'about',
      'screenName': 'About Us'
    });
    dataLayer.push({'event': 'appScreenView'});
  }

  onButtonClick() {
    //send event
    dataLayer.push({
      'appEventCategory': 'about',
      'appEventAction': 'click',
      'appEventLabel': 'about button'
    });
    dataLayer.push({'event': 'appEvent'});
  }

}

Step 8: Adjust the sandbox rules

The last thing we need to do is adjust the sandbox rules so our app doesn’t block requests to the Google domain. Add the following line to your config.xml to allow all outgoing request. Off course you can edit this to be more restrictive if you want.

<allow-navigation href="*" />

And that’s it. This should get you up and running with Google Tag Manager and Google Analytics for hybrid apps.

The post Google Analytics and Tag Manager with Ionic and Cordova apps appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
2604
Mautic review: The future of open source Marketing Automation http://www.multiminds.eu/2016/10/28/mautic-review-marketing-automation/ Fri, 28 Oct 2016 05:59:04 +0000 http://www.multiminds.eu/?p=2490 The post Mautic review: The future of open source Marketing Automation appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

If I asked you to name a few marketing automation software brands, chances are you’ll name Hubspot, Marketo, Pardot or Intercom. And while these are all respectable brands with decent products, I predict another brand is going to join that list pretty soon. I’m talking about Mautic, a rising star with the power to disrupt the entire playing field.

Mautic is an open source marketing automation platform that’s been lurking in the shadows for a while now, and I believe with the 2.0 release it’s ready to step into the light. Mautic is released under the GNU General Public License and is available on Github. In a sense, Mautic operates a lot like WordPress. You can get a hosted version on mautic.com, or download a self-hosted version on mautic.org.

Both versions are very similar. The hosted free version on mautic.com has some limitations in terms of contacts you can create and emails you can send. There’s also a hosted pro version without limitations and professional support, but obviously, this one comes with a price tag.
The self-hosted version is unrestricted and completely free. For this review, we’re going to have a look at the self-hosted version by going over the main features it has to offer.

Installing Mautic

Installing and properly configuring Mautic is not too complicated, yet some technical knowledge is definitely required. If your technical skills are limited and you just want to play around with Mautic you can probably get it up and running yourself. However, if you want to use Mautic in a production environment I highly recommend getting someone involved with decent server skills.

There’s a basic startup guide on mautic.org and if you get stuck you can turn to the forums or the slack channel for help. As for hosting requirements go I’d recommend a dedicated server or a cloud instance with a good amount of memory. For testing or development you could probably get away with a shared host as long you have the ability to create cron jobs.

Contacts

Mautic Contacts

At the core of Mautic are contacts, it operates like a basic CRM. If you’re already using a dedicated CRM Mautic can sync with such services like Salesforce or Zoho, but if you don’t, Mautic’s contacts is a solid solution to start building and managing leads. After installing Mautic’s tracking script on your website, it will monitor all visitors and keep a history of all the pages they visit and the actions they perform. When a visitor submits a form or downloads an asset Mautic will use that information to identify the anonymous visitor as a contact. These contacts can subsequently be used in your campaigns.

Managing your contacts is easy. From the contacts overview, you can directly add contacts to different segments or assign a sales stage. The contact detail view has a detailed history, an engagement chart and displays all the information you’ve gathered on that contact. You can see what campaign the contact is part of, which emails the contact has received/read or what content the contact has viewed or downloaded. You can manually edit or enrich all information and if the contact’s social profiles are known you can view their feeds.

Mautic Contact Details

There are a few other ways to add or manage contacts as well. If you already have a list of leads you’d like to work with you can add them manually or import the entire list in CSV format. Another great feature is identifying contacts with the Mautic tracking script. If you’re site already has a registration/login or if you’re using another form builder, you can integrate these using the Mautic tracking script.

Segments

Mautic Segments

Segments are a way to organise contacts in different groups. You can manually add contacts to different segments, but the real power is in the way Mautic can automatically add contacts to segments based on their actions, behaviour or information. These segments are the cornerstone of building your campaigns and allow you to target very specific groups of contacts.

Campaigns

Mautic Campaigns

At the heart and soul of every marketing automation platform are campaigns. Mautic comes with a visual campaign builder that allows you to select and connect different building blocks to create a fully automated flow. The source of each campaign has to be either a segment or a form. After selecting a source for your campaign you can start mapping it out by connection actions, decisions and conditions. This is something Mautic does really well, and it’s easy to get the hang of it.

A campaign action can be something like sending an email or a text message or modifying the contact’s information. Decisions are triggers when a contact takes action. That could be opening an email, submitting a form or visiting a page. Conditions are pretty straight forward and can be set to the contact’s information or form results. Possibilities are endless and it helps to have a clear strategy in mind before launching the campaign builder.

For campaigns, it is important to setup the required cron jobs correctly. The way you configure these cron jobs directly impact when segments are evaluated and campaign actions are triggered. You also have the option to either directly send emails or put emails in a queue to send out later.

Forms and landing pages

Mautic Form Builder

Mautic comes with a number of tools to build and identify your audience. Two of those are forms and landing pages. As they are used to gather user information, forms are an integral part of any marketing automation system. In Mautic forms can be used as the source of a campaign or as a standalone form to feed your segments. You create a form by selecting a number of built-in form elements and dragging them in the right order. After you finished creating your form you can attach one or more actions to it. These actions are executed after a form is submitted and allow you to email form results, adjust the user’s segments or points, modify tags or download an asset.

Mautic Form

There are a number of options to integrate the form into your website. You can embed the form directly into a Mautic landing page, copy the entire output of the form into your website, or generate an embeddable javascript snippet. When integrating the form into your own design you have the choice of using a Mautic template or not using any CSS at all so the form inherits the style of your website. Another cool feature with Mautic forms is dynamic profiling. It makes your forms smart by not asking all information at once, or not asking information Mautic already knows. It’s a great way to improve your form conversion rate.

Mautic pages are a way to quickly create compelling content with landing pages that integrate nicely into your website. One of the great advantages of the self-hosted version of Mautic is that your landing pages aren’t hosted on the third-party server. Basic pages are easily created with the page builder and there’re even a couple of themes you can use, but in a production environment, you’ll probably import your own HTML. Landing pages have multi-lingual support and you can even create a number of variants for A/B testing. However, if you have your own CMS you’re not obligated to use this feature as Mautic will play nice with landing pages you create outside the system as well.

Channels

Mautic Email

Channels in Mautic define how you engage with your audience. The primary channel, of course, is email. There are two different emails types of emails in Mautic: segment emails and template emails. Segment emails are your usual newsletter emails that can be sent on-off to a specific segment and cannot be edited afterwards. Template emails are used by campaigns, forms and triggers. These template emails are the building blocks for your automated drip campaigns.

To create your emails you either copy your template you created outside Mautic or you use the email builder and design your email with drag and drop elements. To create a consistent user experience, you can also use Mautic’s theme system and apply any of the existing themes or create your own. Mautic emails also support localisation to different languages and A/B testing.

Mautic supports a variety of ways to actually send your emails. For testing, you can use your server’s mail function, your Gmail account or your own SMTP server. For production environments it is advised to use one of the available integrations such as Mandrill, SendGrid or Amazon SES. You can also set frequency rules to not overload contacts and there are options to monitor bounces as well.

Mautic Focus Items

Other channels include text messaging, focus items and social. Text messaging requires a Twilio account and after you connect your accounts you can have your campaigns send out text messages to your contacts. Focus items is a brand new feature that allows you to display in-site notifications and pop-ups to your contacts. Finally, with the social channel integration, you can send out tweets to your contacts.

Dynamic Content

Mautic Dynamic Content

A feature that’s been recently added to the Mautic toolkit is “Dynamic content”. And while this feature still feels a bit rough around the edges, it holds great promise for the platform. Dynamic content allows you to display targeted or personalised content on your web pages or campaign emails. It works by creating alternate versions of certain content and overwriting the default content based on campaign actions and triggers. You can use dynamic content both with anonymous and known contacts and just like with pages and emails it also support translated content.

Lead scoring

Mautic Points

Lead scoring is an essential part of creating a cost-efficient marketing strategy. Mautic provides a way of doing this with a point system. Points are used to create a proper weight for each contact and can both have triggers and actions attached. Actions are a way to change a contact’s total points and can have a negative or a positive impact. For example: when a contact downloads an asset you could add 5 points to his/her total. Triggers, on the other hand, are executed when a contact’s points change. A common scenario would be to push a contact to a certain segment when the contact reaches a minimum number of points.

A more top-level approach to lead scoring in Mautic is to assign stages to your contacts. These should reflect your marketing stages and help you to define the lifecycle of a contact. This feature is relatively new and at the time of writing the possibilities are limited. You can manually add a contact to a certain stage or have your campaigns move your contacts between stages.

Dashboard and reporting

Mautic Dashboard

When you log into Mautic and haven’t changed any of the default settings, you will land on the dashboard view. The great thing about this dashboard is that is fully customisable. Dashboard widgets can be removed, and new widgets can be configured and added. The default dashboard is a bit open-ended and by customising the dashboard you can immediately focus on your business objectives and set some relevant KPI’s. It also makes sense that the main dashboard is configured at the user level, so users in other roles might have a totally different dashboard.

Mautic Reports

Aside from the main dashboard Mautic also has a dedicated reporting section. It comes with a number of pre-configured reports to get you started, but the idea here is that you create your own custom reports based on your own marketing automation strategy. These custom reports are not as straight forward to configure as the main dashboard and require some effort getting used to. It’s certainly an area where Mautic can improve.

Integration

Mautic plugins

One of the key long-term advantages Mautic has is it’s plugin architecture. At the time of writing this review, there are already a decent number of plugins available. Most of these plugins allow you to connect with a third party CRM or email system, or integrate a social channel. The most prolific services Mautic supports today are Facebook, Gmail, Hubspot, Instagram, MailChimp, Salesforce, Twitter and Zoho.

Mautic also has a REST API and webhook functionality that allows for custom integrations. The REST API is well documented and opens up many possibilities to integrate Mautic into your own tech stack. Web-hooks, on the other hand, are a great tool to setup quick one-way integrations.

Final verdict

The good:

  • Open Source Platform
  • A complete marketing automation solution
  • Can compete with

The bad:

  • Limited support (no SLA)
  • Installation and upgrade process could be smoother
  • Some features are still a bit rough around the edges

All in all, Mautic has a lot of reasons to be excited about the platform. At MultiMinds we’ve been using Mautic for a couple of months now, and while we just started to use it we’re already seeing how it’s transforming our inbound marketing strategy. Like all marketing automation platforms, it does require some work and careful consideration on how to draw out your inbound strategy, but with the zero start-up cost of Mautic investing that time is worth it.

As of today, we feel Mautic is on the brink of breaking through as a mainstream marketing automation solution that’s ready to compete with the big brands. There’s nothing holding you back installing Mautic yourself and giving it a test drive, and even in a production environment, we feel it’s ready to hold its own. Not to say there will be small hiccups here and there, but if you have the technical skill to setup Mautic you’re also capable of dealing with some of the minor growing pains.

If you’d like to integrate Mautic into your business, but you don’t feel brave enough to do it yourself, we at MultiMinds are happy to help you out and lend you our expertise. Just drop us a note.

line

Need help setting up Mautic and start your marketing automation strategy? Let us know and we’ll get in touch.

The post Mautic review: The future of open source Marketing Automation appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
2490
6 tips to kick-start your SEO http://www.multiminds.eu/2016/10/17/6-tips-kick-start-seo/ Mon, 17 Oct 2016 14:32:41 +0000 http://www.multiminds.eu/?p=2469 The post 6 tips to kick-start your SEO appeared first on MultiMinds: Your Digital Analytics Partner.

]]>

For many people getting started with SEO seems like a daunting task. SEO is not an exact science and there’s a lot of misinformation out there, so it’s understandable that many of us are reluctant when it comes to optimizing a website for search engines. But don’t worry. In this post, we’ll get you started with the absolute basics on SEO to help your website score higher in the search results.

Search Engine Optimization (SEO) is the process of increasing “organic” visits to your website. The term “organic” visits refer to the visitors that are referred to your website by a search engine like Google or Bing. It’s important to know that every SEO strategy is a collection of multiple techniques and that there’s no easy solution that will instantly make your website score higher. SEO takes time and effort.

That being said, SEO can be a very rewarding effort that on the long term can provide your website with a steady and sustainable stream of new visitors.

line

Subscribe to our newsletter and receive a monthly update with new posts and industry news

All search engines are based on a very complex algorithm that use a large number of data points related to your website to calculate how high your site will rank for certain search terms (also known as keywords). Search engines never release the inner workings of their algorithm, they provide a number of general guidelines at best.

Given the limited information on the exact workings of the algorithm and the rate in which search engines update these algorithms, it can be challenging to come up with a complete SEO strategy. Still, there’s a number of basic tips that will always ring true, no matter how these algorithms evolve:

1. Write unique and relevant content

Search engines want to provide their users with the best possible results. So in order to score high, you need to provide valuable and relevant content. Valuable content is first and foremost content that is unique. If you just copy information from other websites it will be hard to score high and you might even be penalized for it. Make sure your pages contain at least 300 words, have a clear and descriptive title and that your copy contains the keywords you want to score for.

2. Inbound link building

An inbound link is a link coming from another website to your website. Other types are outbound links and internal links, but from an SEO standpoint, inbound links are most valuable. Having a lot of inbound links from well-respected websites tells the search engine algorithm that your website is an authority on a certain subject. Not all inbound links are treated equally though. An inbound link from a popular website that’s been around for a while will have a bigger impact than an inbound link from a gardening blog your cousin just started.

3. Usability and user experience

In the last years, user experience has become growing factor in SEO. Your site can be penalized by search engines for all kinds of stuff that negatively influence the user experience. We’re talking about obtrusive pop-ups, complex navigation, broken links, click bait, etc

Especially broken links are an indication that the website is not well maintained. Use on of these online tools to check if your website has broken links:
Broken link checker
Dead link checker
W3C link checker

4. Provide trust

Trustworthiness is crucial for search engines, and it affects the SEO algorithm directly. It’s important to show that your website is not a scam. A contact page with a street address, email or phone number will go a long way. And if you don’t want to leave your contact details for grabs on the web, another strategy would be to add a contact form.

5. Optimize your website for mobile

We live in a mobile world. These days more and more people are using their phone or tablet as their primary device. To make sure your website ranks high on mobile search, your website needs to be optimized for mobile. A good way to find out if your website is mobile friendly enough is to use Google’s PageSpeed Insights tool.

6. Social reputation

Shares, tweets, pins, likes, and mentions, they all influence your social ranking. The higher the amount, the better. Be sure to promote your website on as many social channels that are relevant to your brand and provide users with a way to share your content.

With these tips in mind, you can start optimizing your website today and improve your SEO rank. Keep in mind that these are just a start. There are many more factors that influence your position, but we’ll save those for another time.

If you want more information about this topic, subscribe to our upcoming training on best practices when using SEA and SEO.

The post 6 tips to kick-start your SEO appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
2469
How to measure Ad Blocker with Google Tag Manager http://www.multiminds.eu/2016/09/30/measure-ad-blocker-google-tag-manager/ http://www.multiminds.eu/2016/09/30/measure-ad-blocker-google-tag-manager/#respond Fri, 30 Sep 2016 11:48:30 +0000 http://www.multiminds.eu/?p=2376 Have you ever wondered how many people on your site have an Ad Blocker active? Would you like to know what effect this has on your visitors? If your answer is “Yes”, then this post is for you! Introduction To measure Ad Blockers, you will...

The post How to measure Ad Blocker with Google Tag Manager appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
Have you ever wondered how many people on your site have an Ad Blocker active?
Would you like to know what effect this has on your visitors?
If your answer is “Yes”, then this post is for you!

Introduction

To measure Ad Blockers, you will need

  • access to the tag manager account of your website OR access to the source code of your website.
  • to add a static file somewhere on your server. If you only have access to a tag manager, you can ask a developer to add this file.

First, you will have to add a fake advertisement script file somewhere on your server. Then you will have to add a link to this script in your website’s source code and check if the script has loaded successfully. If the script failed to load, you will know that an Ad Blocker is active. If, on the other hand, the script loaded successfully, then there is no Ad Blocker activated.

Creating a fake advertisement script

This is just a static file that needs to be placed somewhere on the server. When this file loads, it simply adds a hidden element to your page. Find the contents of the script below. You should name this file “ads.js”. It is important that the name of this file is exactly “ads.js”, this is because Ad Blockers block files that have this exact name.

//Setup
var fake_advertisement_block_id = 'ZqPhbvMCiKfe';

//Do not edit anything below this line
var e=document.createElement('div');
e.id=fake_advertisement_block_id;
e.style.display='none';
document.body.appendChild(e);

The Detection Code

Find the detection code below. This code will place a cookie (“adbl_status”) on the browser that contains “true” if an Ad Blocker is activated, and “false” if no Ad Blocker is active. Of course, you can modify this script so that it might do some extra things when it detects an Ad Blocker. For example, you may want to send an event to Google Analytics when detection is finished.

Note that the code is only executed if the “adbl_status” (Ad Block status) cookie does not exist yet. This cookie will stay on the browser for 30 minutes. You can then use this cookie to populate fields for your analytics tool. For example, to populate a custom dimension in Google Analytics.

<script>
(function(){
	//Setup
	var advertisement_file_url = "//www.yourdomain.com/ads.js"; //Set this link to your own file.
	var fake_advertisement_block_id = 'ZqPhbvMCiKfe'; //This should be the same ID as the one used in the fake ad script.
	var cookie_name = 'adbl_status'; //The name of the cookie that is created.
	var on_detection_function = function(isAdblockActive){
		//This function is executed when the script has found out if Ad Block is active or not.
		//Add any code you want to be executed when detection is finished.
		//This will only be fired once per session (30 minutes).

		//For example: uncomment the next lines to push an event to the Google Tag Manager dataLayer.
		// dataLayer.push({
		// 	event: 'adblock_detection',
		// 	adblock_active: (isAdblockActive ? "Active" : "Not Active")
		// });
	};

	//Do not edit things behind this line unless you know what youre doing.
	var adblock_cookie = getCookie(cookie_name);
	if(adblock_cookie){
		return;
	}

	//Add a link to a fake advertising script
	var s = document.createElement("script");
	s.type = "text/javascript";
	s.src = advertisement_file_url;
	document.body.appendChild(s);

	//Use a timeout to check for the created element from the script.
	//If it does not exist after 1.5 seconds (script not executed yet), we assume that Ad Block blocked the script.
	setTimeout(function(){
		var isAdblockActive = true;
		if(document.getElementById(fake_advertisement_block_id)){
			isAdblockActive = false; //Element is found, this means adblocker is not active.
		}
		setCookie(cookie_name, (isAdblockActive ? "Active" : "Not Active"), 60*30); //Set adblock status cookie for 30 minutes
		on_detection_function(isAdblockActive);
	}, 1500);

	function setCookie(e,o,n,t){var z=encodeURIComponent;var i=new Date,m=1e3*(n?n:3600);i.setTime(i.getTime()+m);var a=i.toGMTString(),c=z(e)+"="+z(o)+";expires="+a+";path=/";t&&(c+=";domain="+t),document.cookie=c}
	function getCookie(o,e){return e=document.cookie.match("(^|;)\\s*"+o+"\\s*=\\s*([^;]+)"),e?decodeURIComponent(e.pop()):""}
})();
</script>

line

Subscribe to our newsletter and receive a monthly update with new posts and industry news

A practical example: Google Tag Manager

To make this concrete, we will implement this in Google Tag Manager. We have placed the fake advertisement file on our server. Now, We have to add the code that will check if the Ad Blocker is working. To do this, make a new custom HTML tag and have it fire on the DOM Ready event, then copy the detection code and place it into the tag (see screenshot below). Do not forget to modify the “advertisement_file_url” variable to point to the “ads.js” file you have created.

detect ad blocker custom html tag

Next, you will have to define a variable to capture the “adbl_status” cookie. So, create a new First Party Cookie Variable and name it something appropriate like “Is Ad Block Active”. The cookie name is “adbl_status” unless you modified the code. Note that this variable will not be defined on the first page view. So if a visitor bounces, there will be no information about his Ad Block status. If you know how to capture a custom event with GTM, you can un-comment the “dataLayer.push(…)” statement in the example code. Then create a trigger for the custom event “adblock_detection”, and create a GA tag that fires on this trigger. This way, an event is fired for every session on your website. On this tag, make sure to set “Non-Interaction Hit” to “True”. If you don’t, landing pages will never bounce, because the event is fired as interactional. Capture the status in The DataLayer Variable “adblock_active”.

Finally, we have to map this variable to a custom dimension. If you have not yet set up a custom dimension (scope: session) for the Ad Block status in your Google Analytics profile, do so now. Open up your primary Google Universal Analytics tag (the one that handles the default page views), and add a custom dimension to the tag. Make sure the index is the same as the index of your custom dimension in Google Analytics. For the value of the custom dimension, use the “Is Ad Block Active” variable you have just created. Now, with every page view following the existing one, the status of the Ad Blocker is sent to Google Analytics in a custom dimension. Don’t forget to publish the container! 🙂

Congratulations, from now on you will be receiving data about the Ad Block status.

ad blocker usage report

The post How to measure Ad Blocker with Google Tag Manager appeared first on MultiMinds: Your Digital Analytics Partner.

]]>
http://www.multiminds.eu/2016/09/30/measure-ad-blocker-google-tag-manager/feed/ 0 2376