Trigger emails via SendGrid

As a mobile-first company we have often trumpeted the benefits of push notifications and in app messaging over more traditional methods such as email, however, we know that for a great many of our customers, this remains in important channel with which to communicate with a great number of users; not only do users generally get a push message on receipt of new email content anyway, but the fact that they control their inbox themselves means that they can comeback to messages over and over again without the fear that if they swipe or click, all content is lost.

Without a doubt, however, email is a treacherous business; bad actors in the past and present have caused mailbox providers to err on the side of caution and go for the span-ban hammer more often than not. For this reason, we have decided to partner with SendGrid to power our email channel, relying on their well-stocked and experienced team of deliverability specialists to make sure that your emails land in the inbox instead of the spam folder.

You’ll need an account, the price will depend on the amount of emails you plan to send but SendGrid remains one of the most cost-effective ways to send email in bulk, especially when you consider their stellar deliverability rates and easy to use templating engine, which includes a number of open source templates out-of-the-box and ready-to-go.

All you’ll need is an API key and to talk to one of our integration engineers to provide you with secure credentials and an endpoint at which you will direct your event stream. Once done, you can trigger email templates with all the standard campaigning features our platform has to offer including tracking funnel steps from targeting to conversion.

Queueing Data for the next app open

When we send Data to your app it is instantly handed over to be processed, however, there can be cases where the user has already sent the app to the background and started some other task and without your app developers writing some extra code to handle this as a background task, you might end up simply losing that data.

With our new feature for data push, if the app is not open at the time the data arrives, we will hold it safe in device memory and hand it over the next time the app opens. This way the task of writing background handlers for both iOS and Android can be avoided and you can concentrate on running great campaigns.

Set an end-date for short-lived campaigns

For certain use-cases there is a definite end to a campaign; think a mothers’ or Valentine’s day promotion or even just a special offer that expires at the end of the month.

Up till now such campaigns had to be manually turned off which meant that anyone who was still in the conversion window, even, if they were just about to execute the conversion event, would be summarily exited from the campaign and so it was harder to get a true picture of the impact of this campaign than it should have been.

You can now a provide an end date, after which users will not be targeted, also, for any automated campaigns, users will not be allowed to trigger the workflow, even if they had already been targeted before the cutoff date. Devices which have already been targeted and are in the middle of the workflow or, somewhere in the delay period between the trigger event and the first campaign action being sent out will still receive messages and will still be able to convert until the end of the conversion window.

Upload APNs Tokens via UI

Upload APNs Tokens via UI

Apple introduced a more secure method of authenticating push message providers with their APNs push messaging service. These tokens are easier to revoke if compromised, can be used for multiple apps rather than one just one and, being based on some very hard cryptography, are much more secure for you and your customers.

While you have been able to upload these tokens via our API for quite a while, we have made it a little easier by now allowing upload via our UI.

Simply head over to the app edit screen and check out the new settings.

Filter presets

As you add more and more campaigns it gets increasingly hard to find them all. While you can always search for a particular campaign, having custom preset filters will help find sets of campaigns, for example, all enabled push campaigns, all push and inapp campaigns or only campaigns with mixed channels.

You can create as many presets as you need and save your preferred default filter in your account settings.

Please note that filters are currently saved per device, that means if you log in with a new computer your saved filters will not be automatically available.

Delivery pacing

Delivery pacing

Many times in our lives we will find that serendipity often trumps carefully laid out plans by adding in an element of random chance which often improving our general willingness to interact with something or someone.

With our new delivery pacing feature you can now introduce that same element into your campaigns by adding a random delay for each user which will start at either the trigger point or the point at which the user becomes targeted for a standard campaign. This can both avoid a mass influx to your app all at once as well as allow users to recevive messaging over wider timeframe. By forcing all users to decide whether to engage with a message at the same time, without letting data drive that decision, you may be ensuring that the message is not arriving at the most convenient time for each individual user’s behaviour.

By analysing data from enough uniformly distributed campaigns you can start to get a better idea of the ideal sending times for users or segments of users based on this randomisation, later using that to better plan and execute campaigns, or feed an algorithm which will do that for you.

Multiple Conversion events

Multiple Conversion events

Some campaigns can have more than one event signifying its goal. Imagine a new installer who has opened the app once and hasn’t revisited for a week. On opening the app again they can either register as a new user or log in; on the one hand we get a new user, on the other, we have brought a user back to the app who may be convinced by some new features to log in again and reengage with an app they might have forgotten about.

We now support such campaigns with the same level of comprehensive, nested rules for filtering based on event properties as we always have. Check it out today to see whether any of your use cases could benefit from extending your conversion goal to cover more natural paths down the funnel.

Event and Attribute viewers

Event and Attribute viewers

When testing campaigns we often need a quick an easy glimpse into the events database in order to see exactly is going on behind the scenes. For instance when devices get targeted, when pushes or inapp overlays get sent out, or to see campaign conversion events from SDK or other external sources flow into the system.

While our reporting API is always there for you, it can be a little overwhelming, not to mention, depending on the client you are using to access it, the results may not be presented in such a way as to make them easy to read and quickly absorb.

For such times we have now introduced a simple event viewer which will give you a chronological list of events for a given device, either by the device advertising id, the 360dialog Device ID or the 360dalog App Instance ID.

You can filter for only events relating to a particular campaign or set of campaigns, as well as limit events to only today or as far back as the last 30 days.

You can also view the current and historical state of your personalisation and custom attributes by similarly providing your 360dialog device ID and selecting which of the attributes you would like to view.

Check out the full docs and have a look for yourself to see what kind of events your device is sending.

Targeting by Event Sequence

Targeting by Event Sequence

By making use of our targeting and triggering mechanism in conjunction with delays, there is already a great deal of flexibility when it comes to who you want involved in your campaigns. Our latest addition to the arsenal of campaign features, however, is sure to make it a lot easier for us to help you find the right audience for your message.

A common use case that probably comes up in every industry is the classic cart abandonment scenario. On an abstract level this campaign will be listening for users who have completed a certain action, say, added an item to their cart, and then do not go on to complete the process with another action that can only come later in time, say, purchase initiated, or completed. For these kinds of campaigns all you have to do is supply the initiating event, the event you are hoping for the user to trigger after this, and the length of time you are willing to wait before targeting the user and nudging them back towards that goal with your messaging campaign.

A closely related campaign type is one targeting only users who execute two closely related events within a reasonable timeframe, for example, from receiving to redeeming a promotional code before it expires to be eligible for another, or from starting a game to completing the tutorial within the first day of installation in order to receive an extra reward.

One interesting point to note for this kind of campaign is that a user isn’t automatically ejected the first time they fail to complete the event combo, rather, we’ll wait for the next time the user executes the start event and make another check to see whether they also execute the finish. This way there is no need to worry about campaign reentry rules or delays, just set it up once and leave it running to make sure you have a chance to hit up all your users.

By simply selecting between targeting on completion of the second event, or the waiting period ending without the user executing both events, both of these use cases are now a lot easier to achieve and manage from our campaign dashboard or via our REST API.

Time Based Filtering

Up to now, our UI has let you target audiences based on the total number of times they have performed some particular event. This is very useful in most cases, but sometimes knowing when the event happened compared to now can be more important.

Our API allows for quite complex rules to be made to target by event counts, at either an hourly or daily grain, and at a given range counting backwards from now. For example: you could target users who had made more than 5 purchases over the last 30 days; or users who had made more than five purchases in the 30 day period starting 30 days ago, and no purchases in the last 30 days.

You will need to talk with your 360dialog Integrations Engineer to enable this feature for you. They will also be able to guide you through creating the first campaigns.

Push messages for everybody

Push messages for everybody

Generally the push messaging channel is used to bring users back to your app with timely, relevant communication. However, there are some use cases, such as time-limited deals where you don’t want to run the risk of anyone either being left out just because they were in the app at the time it was announced, or critical info that all your users need no matter what. We have added support for so-called foregound notifications.

For you this is just a simple toggle in the UI and will work with your entire Android user base and any iOS users who have already embraced iOS 10 as soon as you have updated to the latest 3.6 version of our mobile SDK.

A foreground notification can be a very useful tool to ensure maximum reach for your messaging, if you’re already on the latest version of the SDK you can start using it today, of not, it’s just another in a long list of reasons to update.

Campaign Context

Campaign Context

Depending on your SDK integration, your app might be queuing up inapp messages to be displayed to users based on certain events in the app. This is great, but what if there are a few more factors that you might want to consider that only your app will know: such as under which conditions not to show a message, or out of three message types which should be be shown first?

With our new campaign context feature, you can add tags to campaigns that your app can react to choosing to show or not show a message, or just use it to transfer a bit more info to your app so you have more knowledge across teams what kinds of messages are being sent, how often and for what reason.

Discuss the changes with your integration engineer to help you get the most out of this new feature - it will mean talking to your own developers too so they can update the app to react on these data.

Message personalisation

Message personalisation

One-to-one marketing doesn’t mean much if your messages end up sounding like store-bought spam with no real connection to the user. We’ve added message personalisation to our core feature set, so from today you’ll be able to speak directly to all of your users from one campaign whether they are Chads, Michaels or Murrays.

The first step is to add some custom personalisation attributes to your app. As these are updated by events coming from our SDK or some external source of events, you should consult with your dev team to make sure you get the data you need. Adding personalisation attributes couldn’t be easier: simply check your app settings and specify an attribute name and the event/s and event property/ies which will update it.

When creating messages you can then use these attributes as placeholders and when a user becomes eligible for a campaign they will be replaced with real values before sendout. We’re using Jinja style syntax so your placeholders just need to be wrapped in two curly braces. We’ll also list all available attributes for you so you can easily select from a list rather than manually typing the whole thing.

You’ll get up-to-date on availability and can set a default value for any user for whom we currently have no data. For example, ‘user’ or ‘friend’ if a username is not available.

You can add up to 100 custom attributes for each of your apps, so don’t delay, start personalising your messages today; we are pretty sure your users will {{custom.user_satisfaction|default("love")}} it.

Web Push Changes in Chrome 59

Web Push Changes in Chrome 59

The new version of Chrome brings a slew of changes and improvements, one of the most important for us is a change to the way that web push notifications are handled on Mac OS.

Previously, Google being Google, they had used a similar styling for messages across all platforms. Apple being Apple, the look of those messages definitely seemed to clash with the overall aesthetics. Notifications from Chrome had square edges whereas all other were rounded, the background was a solid white whereas all other notifications were a silvery grey.

With the latest Chrome release, Web Push notifications sent to Mac users will now use Apple’s own design and generally fit in a lot better with the operating system - showing up in the notifications bar and being persisted on screen a tad longer than before.

You can notice from the screenshot that the sender domain is made much more prominent, coming between the subject and the message, and the Chrome icon is also included to make it more clear where the message originated from. One big loss is that large images are no longer supported: hopefully this is something that will come in a later MacOS release, we’ll keep you posted as and when any more changes occur.

Web Push

Web Push

As a mobile-first company it is hard for us to praise anything from the web world, but web push is probably one of the most interesting developments to come around for a while.

Progressive Web Apps seek to create the same kind of intimate relationship that a mobile app has with its user by offering responsive designs, bookmark shortcuts on the home screen featuring the site’s custom icon, smooth transitioning between mobile web sites and app, and now browser push.

This is effectively a clone of the mobile push message and features a subject, message, icon and, optionally, a large image attachment. From the click you can lead a user to a page in your site or simply open the home page.

Check out our full documentation or, if you’re feeling brave, start setting up a campaign. You’ll be able to test it by sending yourself the message you are creating straight from the UI - just accept notifications when you see the prompt.

A-B Testing

A-B Testing

We’ve just finshed updating our UI to allow for creating campaigns with multiple variants. While this has been a core feature of our campaign API, the ability to manage these kinds of campaigns from the friendly user interface should come as a relief to many of our users.

You can check out our documentation for a full guide on how to use our AB Testing feature, but here’s a quick run-down of what’s possible:

  • Create multiple workflows with variations of one or all messages
  • Set up campaigns with the same message but targeting different landing pages
  • Run campaigns on a small portion of the audience, eg, 10% before going live on your entire user-base
  • Set up a control group per campaign who will not receive messages but for whom we will still track targeted and conversion events to give you a ‘baseline conversion rate’ against which to compare your campaign variants
  • Get simple reporting for your AB testing campaigns directly from the UI, dig deeper in the superset data exploration platform.

Talk to your account manager if you need any help setting up your first AB testing campaign, we are sure you are going to a) love it, and b) love it.

Welcome to our new updates channel

So, what’s the rumpus?

Hey there. As we are adding a bunch of new features regularly we thought it would be a good idea to provide a place we could communicate updates, tweaks, tips & tricks so that everyone is up to date and best positioned to get the most out of the 360 Dialog Xray CRM platform.

The first new feature to report is this newsletter. There’s not much here now but as we add new things you’ll see the number of posts balloon, and we hope to get guest posts from our customer success teams, as well as invite you - the users - to add some content and join the discussion with your feedback on changes, existing features, and your own personal best practices.

Welcome to the dawn of a new day.