Pardot now allows SSL-enabled URLS – but use with caution!

You can now make your Pardot assets secure with an SSL certificate – which means your content can be hosted on https urls. This long awaited feature is good news for your search rankings as this has become an important indicator for Google to confirm whether content is secure for their users. But it’s also good news for your prospects, who are becoming ever more security conscious online. Anyone using Chrome as their default browser may have noticed that you constantly get served with security warnings before loading an unsecure page, so this switch gives our prospects more confidence about how seriously you’re taking their online security.

So it’s a no brainer that you would switch to using SSL-enabled tracker domains for your Pardot assets, but don’t rush into switching them over just yet. Read on to find out why.

Continue reading…

Pardot News For You Who Creates Marketing Assets

What’s new for you who creates Marketing assets in Pardot after the Summer ’18 release? Some of us are thinking finally! It was about time Pardot improves some of the key areas marketers use on a regular basis. We have tested and found the benefits of these features, which we will share with you in this article.

What’s new in Email editing?

One of the main thing that almost all of us does in Pardot is creating and sending emails. We are therefore excited that Pardot has introduced the Preview Email As feature. Not only it helps us to save time with testing, but also enables to streamline personalisation in our email sending, which is shown to be one of the most successful strategies for increasing emails performance stats. You can use and test variable tags and dynamic content in order to personalise your emails based on what you know about your prospect. The image below shows you an email draft in the Editor Tab with a variable tag and dynamic content.

So, instead of testing if your personalisation techniques work correctly by sending proofs to different users, you can now go to the Preview Tab and select directly the prospects that you want to preview the email for.

This feature can be used for creating emails and email templates as well. But always remember to check if everyone on your send list is populated with the criteria your variable tag and dynamic content are based on, and make sure they have a general value as a default option. You can for instance set up a field so that the %%first_name%% variable tag appears as “Colleague” if the prospects on your list does not have their first name populated. See below the navigation and settings you need to enable in the image below to create a default value for your variable tags. For the dynamic content, you’d need to define the default value up when creating your dynamic content.


Emojis across Pardot

To increase your email performance even further, Pardot has introduced Emojis in Email. Plenty of statistics has shown that Emojis in subject lines actually increase the open rate, so if you are looking for a new way of increasing your next emails open rate, try this…

Navigate to the Advanced Subject Composer above where you write in the Subject Line:

Click on the Emoji next to the subject line, choose your Emojis and press Save:

Emojis are also available when posting from Pardot to your Social Media accounts.

Using Emojis when posting on different social media platforms is something we take for granted. It has been available almost always, helping our posts to come alive and be more engaging for our followers. It is therefore an expected new feature that Pardot implemented in our Social posting options.


Layout Templates for All Devices

Lastly but not least, Pardot has finally introduced Responsive Layout Templates. If you are currently redesigning your landing pages but haven’t tried these yet, we would recommend to take a look now. Research says users now browse around online more regularly on their mobile phone, it is therefore very important to make sure that your landing pages are responsive to small media devices as well as desktop. By using existing and tested responsive templates, you’ll save yourself a lot of time and keep your focus on aligning the template styling with your branding.

So, how do you import these responsive templates?
Navigate to Marketing -> Landing Page -> Layout Templates -> + Add Layout Template -> Import Layout:

Before choosing the most suitable template, it might be worth Previewing the template to make sure it fits with what you are looking for:

A good thing to be remember before applying these templates is that may need to make some adjustments to the code, which would require a good level of knowledge of HTML, CSS and/or JavaScript, depending on how much the template needs to be edit. Also, be aware that these 5 prebuilt templates have a Bootstrap link included which might affect your efforts in styling the template. To make sure that your coding is working correctly before publishing your template, click on ‘Preview Changes’ in the right bottom.


Hope you’re all caught up now, and you are as excited about these features as we are! If you’d like to be up to date with the latest feature releases in Pardot, join our mailing list and read our monthly Insights newsletter.

Here comes Lightning!

Here at Nebula, we’re all about Lightning – we’re using it ourselves and we’re advocating users to take a look and see how it could work for them.

Whether or not you are ready to make the switch, Salesforce’s summer release is packed with new Lightning functionality – but there are a couple of new features to watch out for.

Encourage Users to adopt Salesforce Lightning

If you have enabled Lightning for your users – whether you are switchers, adopters or just fancied a look at what Lightning was all about, you may have noticed that on a Monday morning, your users are automatically logged in to Lightning. This is great if you are hoping to make the change permanent – it’s how we encouraged our users to convert – but if you aren’t ready yet, this can be a bit confusing for your colleagues.

If you aren’t quite ready to make the change, never fear, this functionality can be deactivated in the Lightning Experience Migration Assistant in your setup menu. Whilst you are there though, why not run the readiness check and see just how close you are to being ready to make the most of a whole host of new productivity tools at your fingertips.

You may also find users asking more questions with Lightning, as many features in classic now load up with a “Why this is better in Lightning” walkthrough guide.

So if you want to keep one step ahead of your teams and learn more about transitioning to Lightning, why not get in touch?

Lightning-only in new instances of Salesforce

Not one that too many existing users need to be too concerned about – but a sign of the future. Some newly provisioned Salesforce orgs are being made Lightning only. Admin users can still configure in Classic if needed, but end users will only have a Lightning experience to work from. Whilst we don’t expect users to be forced to use Lightning for the foreseeable future, it’s another indicator that if you want the latest features, you need to be planning your upgrade to the Lightning interface.

Key Takeaways From Salesforce Summer ‘18!

The Salesforce Summer ‘18 release is now officially live! Excited? I am because every release is packed with hundreds of new features; and the best part? Many of these new features come straight from suggestions by YOU, the Salesforce customer base. In fact, over 63 ideas from the IdeaExchange have been delivered in this release retiring over 336,270 points. Let’s take a look at some of the exciting features now live:

Send List Emails to Campaign Members – Marketing users can now save time and effort by sending list emails directly to members of a campaign. The emails appear in the campaign’s activity time line and are associated to the campaign record.

Do More with Tasks from the List View – Users can do much more with tasks now that they can see a list view. Built-in list view filters let users find tasks quickly, columns are sortable, and users can apply filters to narrow down what they see. The Kanban view lets users view tasks by status with users able to drag a task to change the status. With the split view, users have the full list of tasks available when drilling down on one task.

Manage Lightning Email Templates in One Place – Create, edit, clone, and delete your Lightning email templates — all from the Email Templates page.

Send List Emails to Campaigns and Campaign Members – Sales reps can add campaigns and individual campaign members as their list email recipients, expanding their reach to customers. The list email appears on the activity timeline for the recipient and the recipient’s account, and optionally on the campaign. Logging list emails gives your company a 360-degree view of email activity.

Chart Enhancements for Dashboards in Lightning Experience – Visualizing business data is understanding business data and the improved dashboard charts help you to see it better. Horizontal bar charts now show the chatter photos to add a touch of personality to them. Choose what makes most sense for your data by displaying values in charts in the Display Units settings. See the values of peaks and valleys on line charts without hovering.

Products: Work with Schedules in Lightning Experience – With product schedules fully available in Lightning Experience, reps can now do it all in one place. Establish, update, and delete revenue and quantity schedules on opportunities without leaving Lightning Experience. If you’ve been waiting on product schedules to switch users to Lightning Experience, the time has arrived.

Export Reports, Keep the Formatting – Sometimes sharing your reports with others means exporting them to Microsoft® Excel®. When you export your reports, the formatting you worked so hard on now stays intact. The exported report also includes column summaries and totals.

Override the Sender for Approval Request Email Notifications – By default, the sender for email notifications about approval requests is the user who submitted for approval. Now you can override the sender with an organization-wide address, like, from your process automation settings.

This is just a highlight of some of the features now available to you. There is a whole host more which you can find all of the details of here. If like me, you find the release notes overwhelming, take a look at some of the community blogs below to see other people’s top features…

Salesforce Summer 18 features to watch out for

Summer ’18 Release: Top Sales & Service Cloud Features


Want to Win More Business? It’s All About the Customer Journey…

I was inspired at this year’s World Tour yet again by the focus on customer centricity and how technology enables us to build ever more targeted, personalised and highly effective campaigns. If you’ve already got Pardot, you’ve already got the technology with Engagement Studio but without a well thought out plan how are you really going to harness its power? Read on to find out how you can start building a winning journey that converts those unknown prospects into ready-made sales leads! Continue reading…

Keeping up to date with Pardot’s Engagement Studio

Pardot’s Engagement Studio was introduced in June 2016 as a modern replacement to the legacy Drip Programs functionality. Engagement Studio enables marketers to nurture prospects with customised paths of emails which can be personalised depending on each prospect’s behaviour or criteria that we know about them.

Whilst development and improvements to this feature have been ongoing since Engagement Studio was first introduced, it certainly feels like the first half of 2018 has seen the most improvements, with features seemingly being introduced each month. Below is an introduction to the key additions:

Repeatable Engagement Studio Programs

Previously, a prospect could only run through an Engagement Studio program once. Prospects who had already completed a nurture would not re-enter the program at the top, and would instead stay at the ‘End’ stage. The new functionality has huge potential in many scenarios including customer renewals/retention, or regular customer satisfaction surveys.

Still in Beta, this functionality can be opted into with a banner on the homepage of selected Pardot accounts. Note that at this point, the feature is limited to 10 active repeatable Engagement Studio programs.

Repeatable Engagement Studio Pardot


Editable Business Hours

Previously, it was possible to have your nurture emails sent between 10am and 4pm Monday to Friday in a selected time zone. It’s now possible to set the specific days and time windows you’d like to use for sends. This means that rather than just using the definition of business hours, nurtures could be set up to send emails when audiences are most likely to engage with them, i.e. a business could decide to only send on Tuesdays to Thursdays if that’s when they experience the highest engagement rates. Find out more about this feature here.

Engagement Studio Business Hours

Improved CSV reports

Engagement Studio CSV report exports have been greatly improved. There is now a program summary which includes information about the number of prospects who have started and completed the nurture, in addition to enhanced email statistics to bring the Engagement Studio email reporting closer to the capabilities of list email reporting. If applicable to the nurture, information on the performance of included forms, landing pages, custom redirects and files will also be represented.

Pardot Engagement Studio CSV reporting

Scheduled emails

Another important addition is new functionality to schedule specific emails within your nurture. This proves extremely useful for pre-event Engagement Studio programs as it enables marketers to align email sends with key date milestones. For example, sending the last reminder email the day before the event.

If a prospect arrives at the step before the scheduled time, the prospect will remain there until the email send date, when the email will be sent and the prospect continues down the nurture. On the other hand, if the prospect arrives at the step after the email send date, they will skip the email send and continue down the program.

timed engagement studio emails

Improved testing

Alongside the new email scheduling feature above, the program testing functionality has also been improved. It’s now possible to select a test start date and follow the program through in terms of which emails are sent, which are skipped, and also preview which dates each email would be sent on. This is extremely useful in terms of understanding how complex programs may be affected by your office hours and scheduled email sends.

engagement studio testing

With all these recent enhancements, it’s an exciting time to be a Pardot user! If you have any questions about getting the most out of Engagement Studio, or any other Pardot features, please contact us.

Key Takeaways from Salesforce World Tour London!

James Campbell, Director:

“It is no secret that there are currently not enough skilled admins, consultants and developers to keep up with‘s growth.  Therefore unsurprisingly, the ‘We are all trailblazers’ keynote had a huge focus on how to become an expert in the platform and drive improvements in your business using technology as the enabler.

Trailhead has been developed as an online learning tool which makes learning Salesforce fun and easy so I really encourage you to go out there and blaze some trails!  If you still need convincing, an Indeed survey found that both Salesforce Administrator and Salesforce Developer were ranked in the Top 10 best jobs in 2017.”


From a marketing point of view
Linda Forsstrom Torres, Digital Marketing Executive:

“This was my first Salesforce World Tour event and I wasn’t sure what to expect. One thing that I am sure of is that Salesforce have really found a great way for us users to learn more about the platforms that we are using and what other opportunities we can add to fully utilise our Salesforce tools. I found this event especially useful working marketing because of the broad knowledge sharing from company success stories through their marketing strategies. I learned from success stories with B2C marketing and how these can be used with B2B marketing. The sessions also gave me ideas from Marketing Cloud strategies that can be used for Pardot strategies. This event is truly for any marketing users that works with any of the Salesforce tools.”


Time for networking
Doug Gardner, Salesforce Consultant:

“With the World Tour this year concentrating so much on Blazing Trails and education, I decided to spend a lot of time speaking with the people on the stands. This gave me the chance to get to know products (both Clouds and Apps) that I didn’t know so well whilst refreshing my knowledge of products I am more familiar with. One thing that really stood out in speaking with those on the varied stands was quite how many people build products to fulfil the same goal, such as CTI or Sales person analysis. This not only provides further evidence of the stableness of Salesforce’s business model but also means that having the opportunity to speak to so many partners in one place was invaluable.”


It’s still all about the customer
Nicola Eagling, Pardot Consultant:

“Having attended the last few World Tours now, there is always a consistent theme about putting the customer first and how the Salesforce platform helps you to do just that. I thought this year evolved that idea even more by focusing on how the different Salesforce products can be used together to ensure we no longer work in silos across marketing, sales and service – and altogether giving the customer a cohesive and personalised experience. Hearing about how other companies are tackling GDPR was also interesting – and it’s certainly not the last we’ve heard of these regulations!”


Einstein is coming!
Simon Molloy, Senior Developer:

“It was another very busy year at the London ExCeL centre for the 2018 World Tour.  Not only is it an excellent chance to catch up with old peers & colleagues, the future-looking presentations and keynote speech make it very worthwhile.  I was particularly interested in the Einstein technology that has made progress since the 2017 World Tour, which really will enhance Salesforce users ability to service their customers at a higher level of predictability and time saving.”


Mulesoft stole the show
Paul Kissick, Senior Developer:

“Every year, the Salesforce World Tour keeps getting bigger. Partly from the increase in customers and developers, and partly from the acquisitions and new products Salesforce introduces. This year it was the Integration Cloud (Mulesoft) which was star of the show. More and more customers are looking to connect internal systems with Salesforce, and this was the perfect product to help with that.
As more products and services are made available education is a top priority for Salesforce, with the key message being to get on Trailhead and create more Trailblazers.

Products showcased for developers included Einstein Vision with the Image Classification and Object Detection features, making it even easier for customers to automate processes which were previously very manual, and Einstein Language with Intent and Sentiment services to help analyse text, either from online Chat bots or inbound emails. Heroku was also very prominent, highlighting that existing apps can be migrated to Heroku’s hosted platform, and connect natively with Salesforce much more easily than before.”


Training with myTrailhead
Andy Murdoch, Salesforce Consultant:

“I’ve been to several of the annual Salesforce World Tour events, each bigger than the last. With the continual growth and development of the Salesforce platform, new features and functionality are added constantly. The World Tour is the perfect place to keep up to date with the ecosystem.

The previously announced feature myTrailhead was demoed this year, fitting perfectly with the ‘We are all trailblazers’ headline. With myTrailhead, Salesforce is extending the established Salesforce specific training platform, Trailhead, to enable companies to customise the internal learning environment with their own content and branding. From custom onboarding trails to company-specific enablement skills, any topic can be covered. Due to the ease of use and approachability, I can see a future where all Salesforce customers utilise this functionality for all of their internal training processes.”


What did you miss at the Salesforce World Tour?

Once again, the Salesforce World Tour rolled into town last week with 12,000 people making the annual pilgrimage to the East End of London. With a keynote session promoting the very best of Salesforce’s Ohana culture, it was clear that this year Salesforce’s dedication to Trust, Growth, Innovation and Equality was being placed front and centre. From hosting a carbon neutral event, to a promise to eradicate the gender pay gap, Salesforce’s commitment to their corporate responsibilities were an impressive sight to behold.

But this wasn’t an event short on innovation – with announcements re-confirming Salesforce’s partnerships with the likes of IBM and Google along with the recently announced acquisition of Mulesoft – giving a sense of the power and technological might of Salesforce as it aims to bring the best in class across AI, Integrations  and Analytics as well as the core Platform of choice.

And it was a triumph for Lightning – not just as the platform underpinning Salesforce’s Clouds – but firmly establishing itself as the way forward for clients to build a responsive system that is tailored to their needs. We anticipate a number of customers looking at migrating to a Lightning experience in the forthcoming months.

The biggest surprise for me is just how much Einstein functionality is directly built in to Salesforce ready for lightning users to get their hands on – with an Einstein Readiness Report to help you get up and running.

“Blaze your Trail” was the message of the day – and as Trailhead develops itself into a full training platform – with MyTrailhead and Trailmixes allowing you develop bespoke training pathways for your team, you’ll have no problem following this intruction.

As always at the World Tour there are so many new features, announcements and things to try out for yourself – we’ll be doing our best to pick out the best bits over the coming weeks.


Use your Existing Pardot Email Send to Prepare for GDPR

We are now in the final countdown to 25 May – the day marked in every marketing teams calendar, when GDPR will come into place. Businesses around the world have been preparing their marketing strategy and policy for months and some might have started running an opt-in nurture campaign in Pardot like we did at Nebula. However, if you haven’t got the time to gather your content team and prepare a nurture program ready for GDPR, but you’d like to give your prospects a chance to confirm their opt-in easily, you’re in the right place.

Continue reading…

Patterns in Apex: Dependency Injection, Strategy, and Decorator

When you start out in Salesforce development, there seems to be little need for software design patterns. Perhaps because development starts with little triggers doing this and that in a few lines of code. But, as soon as the requirements, codebase, and team-size grow, then the advantages of patterns and other software engineering practices kick in. In this article, we’re going to look at three patterns (which overlap) and help us to solve a problem that many Apex coders will be familiar with.

The Problem

Suppose you’re writing a function that receives a list of Contacts and needs to return them in reverse order of LastName. When you need to sort, you immediately reach for the sort()  method of the standard List  class. But it’s not quite that simple. sort()  works by requiring the elements in the list to implement the  Comparable interface (plus accepting some built-in types that don’t implement  Comparable but only sort in a non-configurable way).

So, the standard approach is to write a wrapper class that contains a Contact and implements  Comparable in the way you need e.g.

Which is fine, but if you want to sort a list of Contacts, then there’s a lot of marshalling to do before you get to call sort() :

Make a list of wrappers, put all the Contacts into wrappers, sort it, make a list of Contacts, copy all the contents of the wrappers into that final list. Who has time for all that?

The Solution

The alternative is to write our own sorting implementation which is not configured by properties of the elements in the list. Instead, it’s configured by an object that we pass in at the time of construction. This is dependency injection. The sorting algorithm depends on being given a method to compare elements, and we’re going to supply (inject) that dependency when we create an instance of the sorter. Get this right, and we’ll have two great benefits:

  1. No need to marshall all our sObjects into a wrapper just to sort them
  2. No need to implement Comparable in our own classes (along with possible configuration to allow sorting by different criteria) just to make them sortable. Importantly, if I wrote a class last year, and today I decide that I need to sort lists of that object, I don’t need to modify that class to make it sortable

The first piece of the puzzle is to define an interface for comparing two objects. Like Comparable , but not tied to the objects we’re comparing:

Then, we can write a sorting class which uses an instance of Comparator  to do the comparisons:

We won’t get into the details of the quicksort sorting algorithm, but we will note that in lines 29 and 31 we are using the Comparator  to compare the elements. The Quicksort  class doesn’t entirely perform a sorting algorithm, it is missing the part where it knows exactly how to compare two elements in the list. That detail is provided at runtime by passing in a instance of  Comparator. This is a use of the Strategy Pattern and, as we noted before, dependency injection.

So, let’s build a Comparator  for our earlier example:

Pretty simple, so what does the actual sort look like?

Wow, so much better!

Going Further

But, we can go further. What about classes that already implement Comparable ? Piece of cake:

What if I wanted to reverse the ordering? Do I have to write a new Comparator  for each combination of sorting criteria that I’ll ever want? Or maybe one MegaComparator  with lots of parameters and switches? No… we can keep things clean by using the Decorator Pattern. This allows us to modify the behaviour of a Comparator  by wrapping it inside another one (decorating it). For example, we can write a reversing comparator like this:

And then we can sort our Contacts in ascending order of LastName by putting the two Comparators together:

If you’re a Java programmer, you’ll be familiar (and probably a bit frustrated by) the decorator pattern due to its extensive use in the IO libraries ( Reader , BufferedReader , etc.).

If you’ve been paying very close attention, you’ll notice that ReverseComparator  is using dependency injection and the strategy pattern on its way to being part of the decorator pattern.

Final Thoughts

This all seems like fun, but do you use it every day? I don’t write the utility classes with these patterns every day, but I do use code written with these patterns every day. When you’re trying to pull out general solutions that you can re-use everywhere, and pondering how to make them configurable for scenarios that you can’t yet imagine, these patterns give you some great ways to build in all the flexibility that you need. So, if you’re a senior engineer building some of the tracks for your colleagues to run on, this gives you a great way of doing it.

For example, we have utility classes to convert sObjects to/from JSON using metadata to specify the JSON structure. How can you deal with external systems that have a million different ways of storing dates? Or when they decide to store some numbers in strings? By writing the utility classes with the strategy pattern, and allowing the developer in a specific situation to fill in those details themselves. The utility class can deal with how to fetch Contact.Account.Name through those object relations, and it can deal with building nested JSON objects. You can concentrate on whether or not there should be a ‘T’ or not between the date and the time on this particular integration.

As always, happy to hear feedback on Twitter @AidanHarding or email