Every day brings great reads in the content strategy and content marketing worlds. The past few weeks have been especially chock-full of great stuff. Here are five of my favorites.

Content and Design Are Inseparable Work Partners (User Interface Engineering)
Why you should read it: Using several examples from user studies, Jared Spool demonstrates why separating content and design functions within an organization inevitably leads to inferior experiences.
In their words: “We need to shift our definition of content to be what the user needs right now. It has nothing to do with how it’s produced or where it lives on the server. If the user needs it, it’s content.”

Your Google Algorithm Cheat Sheet: Panda, Penguin, and Hummingbird (Moz Blog)
Why you should read it: A lengthy-but-helpful overview of recent algorithm changes and what they mean for content creators. It’s accessible yet detailed.
In their words: “It is hopefully a good reference that you can point your clients to if you want to explain an algorithm change and not overwhelm them with technical details about 301s, canonicals, crawl errors, and other confusing SEO terminologies.”

Avoid Format-Based Primary Navigation (Nielsen Norman Group)
Why you should read it: NN/g provides a well-supported case for why format-based approaches (such as “Videos”) are ineffective as primary navigation.
In their words: “Users interested in a specific topic usually don’t care in what format the information will be delivered to them; they are focused solely on finding answers that will address the question they had in mind. For this reason, for sites where the majority of the tasks are topic driven, format-based navigation does not work well at top levels of the information architecture.”

Kick Off Successful Content Marketing with a Pilot Program: 10 Steps (Content Marketing Institute)
Why you should read it: Joe Pulizzi offers a useful strategic platform for approaching your next content initiative as a pilot program.
In their words: “One senior marketer at a large manufacturing firm recently told me that their progressive content marketing approach can be credited to one thing: launching the program as a pilot (including referring to it as such).”

How to Plug the Holes in Your Content Funnel That Are Costing You Money(Copyblogger)
Why you should read it: Mike King shows how personas, journey mapping and qualitative content auditing can reveal gaps and opportunities in your content marketing plan.
In their words: “Journey mapping is an art and a science that requires identifying user needs and developing them into stages — some of which align directly with business transactional touch points, and some that can only align with content.”

Posted in Technology | Tagged , | Leave a comment


The first option for any new piece of functionality is to head to the AppExchange to see if something is available.

In this case an app that does mass deleting can be found:
Here is a video I found too that talks about installing and configuring a mass delete appexchange app.

That is really great!  And free!  But what if you have some specific business requirements around which objects should or should not be deleted?  You would need something custom built and then extend it to meet those business rules.

So what I want to lay out here are the ingredients needed to make a mass delete work. Note that this recipe will work for any mass action.  Maybe you want to mass update a status field or create child objects automatically.  All of those things can be done once the ingredients are in place.

Here is what we need and the order in which to add it…

1) Apex Class – MassDeleteRecords

public with sharing class MassDeleteRecords {
    private ApexPages.StandardSetController setCon;
    private string retURL ='';
    public MassDeleteRecords(ApexPages.StandardSetController controller) {
        setCon = controller;
        retURL = ApexPages.currentPage().getParameters().get('retURL');
    public PageReference DoDelete(){
        set<string> setToDelete = new set<string>();
        for(sObject c : setCon.getSelected()){
                if(setToDelete.size() > 0){
                 list<MyObject__c> objItemList = new list<MyObject__c>();
                 objItemList = [Select ID
                        From MyObject__c
                        Where ID = :setToDelete];
                 if(objItemList.size() > 0){
                     delete objItemList;
               if(string.isBlank(retURL) == false){
               return new PageReference(retURL);
                   //This should not get hit, but put the three digit prefix of you object here.  This prefix can be programatically discovered too with something like this:
                   string threeDigitPrefix ='';
           Schema.DescribeSObjectResult r;     
           r = MyObject__c.sObjectType.getDescribe();              
           threeDigitPrefix = r.getKeyPrefix();
               return new PageReference('/a0H/o'); 

Notice that we are using the StandardSetController.  This object will contain all of the rows that were selected on the list view.  The DoDelete() method is called from the action attribute for the ‘apex:form’ tag on the Visualforce Page.  It would be nice to be able to do the DML right in the constructor, but that is something Apex does not allow us to do.  This page does do a DoDelete() method, but it could just as well do a DoStatus() or a CreateChildObject() routine.  There will be a collection of objects to iterate over in order to take whatever action is necessary.

2) A Unit Test
Before we create the page we should create the unit test.  We should be able to test our class and know the logic is going to work before we ever tie our class to our page.

private class MassDeleteRecordsTest {
    static testMethod void MassDeleteRecordsTest() {
        MyObject__c pItem = new MyObject__c();
        insert pItem;
        list<MyObject__c> objList = [SELECT ID FROM MyObject__c Where ID = :pItem.ID];
        ApexPages.StandardSetController ssc = new ApexPages.StandardSetController(objList);
        MassDeleteRecords mdr = new MassDeleteRecords(ssc);
        objList = [SELECT ID FROM MyObject__c Where ID = :pItem.ID];
        system.assertEquals(objList.size(), 0);

3) A Visualforce Page

<apex:page standardcontroller="MyObject__c" recordsetvar="objItems" extensions="MassDeleteRecords" showheader="false" action="{!DoDelete}">
    You should only see this page if there was an error.  The error message should be here:

Notice that there is almost nothing visual on this page.  The only time this page should be displayed is when an error occurs.  The ‘extensions’ attribute is pointing the needed Apex class.

4) A Custom Button
Create a new custom button on your custom object.
A) Go to your custom object
B) Go to the ‘Buttons, Links and Actions’ related list.
C) Click ‘New Button or Link’
D) Input a name and label like ‘Mass Delete’
E) Select ‘List Button’ and check the checkbox for ‘Display Checkboxes (for Multi-Record Selection)
F) Behavior select ‘Display in existing window without sidebar or header’
G) Content source select ‘Visualforce Page’
H) Content drop-down select your Visualforce Page.  The only Visualforce Pages that should show up in that drop-down are those that are defined as having the standardController set to your custom object.

5) Add the Custom Button to the List View
A) Go to your custom object
B) Go to the ‘Search Layouts’ related list.
C) Click Edit next to the ‘CustomObject’ Records List View
D) Add your custom button

You should now be all set!  Go to the tab for your custom object and your ‘Mass Delete’ button should be there.  Select a couple of items and hit the Mass Delete button.  The page should refresh and your records should be gone.  These records should be in the recycle bin if you need to restore them.

The great part about these ingredients and the recipe is that it allows you to take any action that you want on multiple records.  The building blocks are there to kick off the action and the records have been passed to the routine.  Now all you need to do is to implement the specific business logic.

Good luck with doing your mass action customizations.  Let us know at Sundog if we can help!

Posted in Technology | Tagged , , , | Leave a comment


As I mentioned in my last blog post Salesforce Communities is the successor to the old Portals.  There was a lot of thought given to make sure that each piece of a Community could be customized to meet brand standards.  Here are some examples…

1) Can I change the default header and footer in the Community?
Yes!  See page 13 of the Salesforce Communities Implementation Guide in the ‘Branding Your Community’ section.
They even mention on page 34 in the ‘Adding the Global Search Box to Your Customized .Html Header’ how to add the Global Search Box back into your own customized header.

2) Can I change the default landing page for the Community?
Yes!  See page 36 of the Salesforce Communities Implementation Guide in the ‘Configuring the Default Community Login Page to Use a Custom Home Page’ section.
This blog post also has some nice screen shots and sample code about this landing page customization.
This means that you are in complete control of the end-user experience in the Community.  If you do not want to see the standard Community page with the tabs at the top, then you do not have to see it.

3) Can I use a Site or for my Community?
Yes!  When you setup a Community you choose to either use a Site within Salesforce Sites or  With Sites you get the ‘out-of-the-box’ functionality of the tabs that can be added/removed with point-n-click configuration.  But you also have with Sites the power to create custom Visualforce pages and include them.  You can also use for your Community which is a Content Management System ( CMS ) that does not rely on Visualforce.

4) In Apex will I know what Community the user is logged into?
Yes!  Check out the Apex Network class that was added with Communities.  It has routines like getNetworkId() to return the user’s current community.  It also has routines like communitiesLanding() and forwardToAuthPage() to help control landing and login pages respectively.

There is so much to explore when customizing the Community experience in Salesforce.  But the best part is that there is so much out-of-the-box without even customizing it.

Please let us know at Sundog if we can help you with building out a Community for your customers.

Posted in Technology | Tagged , , | Leave a comment


We want to see how companies foster good communication and humanize the brand through social media. Throughout this blog post, we will talk about specific social tricks for building relationships. Keep in mind, transparency and authenticity are two of this industry’s biggest factors and proper execution on behalf of your brand is crucial.

As you build relationships online, it’s important to be relevant. If the content doesn’t relate to the target audience, it will not make a direct impact on their relationship. It’s important to recognize what your audience needs and wants, as this should tailor your content strategy. However, sometimes your audience doesn’t know what they want until they have it. Like Steve Jobs said: “Some people say, ‘Give the customers what they want.’ But that’s not my approach. Our job is to figure out what they’re going to want before they do. I think Henry Ford once said, ‘If I’d asked customers what they wanted, they would have told me, “A faster horse!”’ People don’t know what they want until you show it to them. That’s why I never rely on market research. Our task is to read things that are not yet on the page.”

Build two-way conversations. When your highest influencers tweet about something interesting and ties back to your brand, respond to that person, retweet it if it makes sense with your content strategy. As a company shows value of their community, they are more likely to build trust. As a ground rule, make sure to you are engaging on the right platform with the right etiquette of the tools you use. If used wrong, it could decrease the relationship value with that individual.

Be responsive. As some brands have five approval processes prior to launching material, this can drown out response time and reflect poorly on your brand in this space. We recommend working with teams to come up with a Response Guideline to outline best practices for common messages and customer service to streamline a process in enabling your company to be more responsive and engage earlier in the conversation.

One example is how Bobcat Company engages with their audience on their Facebook page. They do a great job responding in a considerable time-framewhile humanizing the brand. This Fan posted a question to their page asking about the contest going on and how to enter. See how Bobcat responds. You can see how another person liked the post as well as answering the question publicly allowed another fan to benefit.


bct mention


One great way to build relationships through Twitter is creating a follower strategy. By following other people that share valuable information for you, you can begin to comment and engage with those on the items they are sharing. It’s also a common tactic to look at whom that person is following as they may find you some more influencers in your industry.

This tactic rolls over to Instagram as well. On Instagram, brands must humanize themselves through imagery and begin to build two-way conversations rather than focus all about the company. The goal is to create loyal customers that are devoted to a brand. Try using one or two hashtags in your description, but any more can look self-promotional.

As you nurture the relationships in each profile, it’s important to learn from what you’re sharing and how you’re engaging to adjust your strategy. It something doesn’t resonate with the audience, social is a platform that can adjust as needed.

Posted in Technology | Tagged | Leave a comment


This bass-playing band member knows the best of both worlds! Not only is he a U.S. citizen, he also has citizenship in the U.K. Let me introduce: Ben Sailer.




Position at Sundog: 
I’m a Writer at Sundog, creating content for a variety of campaigns. I help tell client stories with words.

Work experience: 
Before coming to Sundog, I spent two years at as a Web Content Writer. Prior to that, I held several internships in PR, government, and marketing. I also have extensive freelance music journalism experience.

First impression of Sundog: 
Everyone here is extremely supportive and willing to help with anything. The family-like atmosphere is strong and I’ve felt really welcomed right from the start.

What brought you to Fargo?
I grew up in an Air Force family and we moved around a lot. I first moved to North Dakota in 4th grade and moved away halfway through high school. I moved back after graduation for college at MSUM because I had strong ties to family and friends in the area. I’ve since lived in Fargo-Moorhead for most of the past 9-10 years or so, and it feels the most like home out of anywhere I’ve been.

Tell us about your family:
My parents live near Salt Lake City, which gives me easy access to an amazing vacation spot. My sister also lives in Fargo with her husband and two kids.

What you’re doing when you’re not in the office:
I play bass in a band called Riesage. I also do some freelance music journalism for (VICE Media’s music blog) and I do a lot of running and biking in the summer, and I train in Muay Thai at the Academy of Combat Arts.

Closest celebrity run-in:
John C. Reilly once waved at me from his car when I was standing in the alley behind the Fargo Theater.

Song you’re listening to on repeat:
Iron Chic’s “Every Town Has An Elm Street.” They’re a punk band from Long Island that I probably listen to more than anyone else (actually, my stats confirm that fact). They write really simple songs, but they’re the one band I never get tired of.

Most recent purchase:
A Qdoba burrito.

Thing that makes you cringe:
Truck nutz.

And, because sharing is caring, you’ll leave our readers with… 
My go-to means of checking the weather:

Posted in Technology | Tagged , | Leave a comment


When a company takes on social media it’s about truly enabling them to become socially engaged beyond social media tools and tactics. Social is a mind shift in the way companies do business. Rather than pushing out messages, companies are creating, nurturing and building relationships, which should be the focus of a company’s interactions. Social’s more about communication than advertising. Companies need to understand relationships are built over time through loyalty, recommendations and sharing.


Social Icons


Let’s take a deeper look at relationships and try to define them. You don’t own a relationship or accomplish one. It isn’t a “thing” or something to check off your to-do list. Building and nurturing a relationship is about connecting with someone authentically and truly relating with him or her. For one moment, think about the quality relationships in your life. Who are they? What interactions did you do? How did they start? Now, think about how you can translate that connection online for a company to connect with their customers.

Becoming a social company is also about creating a sense of a community online. When brands actively try to cultivate good relationships, with trust, transparency and honesty, people respond. (Return on Relationship)  Social Networks are a communication medium. It’s not a channel to solely distribute messaging and advertising. It needs a balance of messaging of what your audience wants to learn as well. Information sharing is very important in this space, as this is what people are looking for to help make buying decisions. These conversations are happening with and without companies, so it’s important to become a part of it. However, as social has become another layer, it’s important to not dismiss other channels. We strongly advise measuring what’s working and adjust your strategy accordingly.

Control of the brand is often a large discussion around becoming a social enabled company. It’s possible to control the brand image through profile photos and cover images, but we also control the content used to communicate your brand message. This type of control includes how you react to others who post to your profile. When a company responds publicly to an issue, it may help others fix their issue because of your response. Each little interaction builds to reflect who you are as a brand. If you do this right you can build brand advocates during this process to support your brand.

A company’s social strategy is where the foundation is set, but it comes to life through execution. It matters how well brands create authentic connections, interaction and engagement with customers. It’s important to nurture these relationships and help your company have social become a part of your business culture.

Posted in Technology | Tagged | Leave a comment


A digital strategy on social networks uses social to broadcast promotional messages. This is nothing different from what companies have done using other mediums like print, email and online advertising. A true social strategy steers clear of pushing out marketing messages but provides value to their communities and concentrates on building relationships through a balance of messages. These relationships in social are built, nurtured and exchanged for the community doing various tasks like sharing content with their friends for free.

The digital strategy approach is a safe way to be in on social platforms and really the easy way out. This method isn’t using social tools to the full capability and will not see the return in investment on the effort. People are using social to interact with their friends, and brands are often seen as intruders who interrupt the experience rather than enhance the relationship with the brand. It’s like that sales person forcing you to buy something when you’re not ready or interested.

The social strategy understands their community and sends them information that is valuable at the right time and the right place. It helps community members connect with others and facilitates interactions to help people rather to sell and promote items. The trick in any social strategy is to create a win-win environment for the customer and the company and have a strategy that simultaneously benefits both social interactions.

For more on this topic read this article and the book: A Social Strategy: How We Profit from Social Media

Salesforce has also put together a video that speaks very clearly to this message on how businesses can shift in the way they do business with their customers. They call it the “Customer Company” and are about putting the customer first.  “Welcome to the world of the ever connected, always on, highly opinionated, on the move customer. This is a customer who understands they now have power. They now expect more than just a product or a service from you. They expect a relationship that is on equal terms. They expect to be at the center of your world. And you need to put them there. You need to become a customer company.”

Posted in Technology | Tagged | Leave a comment


The transition from only having Sites and available to us in the past to now having Communities as a key component in allowing customers or partners into Salesforce, forces us to look at how to solve certain use cases.  I have listed some requirements below and let’s see what feature would best meet that need.

1) Public Web Site with Visualforce Developers
Requirements: I want to build a public web site that anybody can access. There is no login required to access the site.  I have access to Salesforce developers who can create Visualforce pages.

Solution: Sites
Sites is built using Visualforce pages and does not require a login.  In fact, for new customers, a Salesforce Site is not allowed to require a login.  When you click on the ‘Login Settings’ of a Site built outside the context of a community, you will see that Login is ‘Not Allowed’ and that setting cannot be changed.  In the old world (pre 2013) of customer and partner portals this login process used to be possible.

2) Public Web Site without Visualforce Developers
Requirements: I want to build a public web site that anybody can access. There is no login required to access the site.  I do not have access to Salesforce developers who can create Visualforce Pages.

Solution: is a CMS ( Content Management System ) that allows for drag-n-drop building of a user interface.  It is not as flexible as Visualforce, but a public site can be setup by a non-developer.

3) Authenticated Web Site with Visualforce Developers
Requirements:  I want to build a web site that should require a login.  I have access to Salesforce developers who can create Visualforce pages.

Solution: Communities with a ‘’ site.  When you create a Salesforce community you can use either a 1) Site or 2)  The site is just like the Sites that we have always had, but the users who can log into the site are tied to the community.  When you create a community you will have to determine whether it is a customer or partner community.  In the most basic sense think of a customer community as being allowed to access data under one account.  A partner community can access data under multiple accounts.

Normally when you log into a community you land on the default community page that shows you the tabs that are available to you.  In many cases that is a great user experience.  However, if you want a fully branded site where the users do not know they are in Salesforce, then you can override that default page.  We can change the ‘Active Site Home Page’ of the site from being the default community ‘CommunitiesLanding’ page to be a custom Visualforce Page.  On this custom Visualforce page we can set the ‘ShowHeader’ tag to be false and that will remove the Communities standard Header and Footer.  Yeah!  We are now in complete control of end user’s visual experience.

4) Authenticated Web Site without Visualforce Developers
Requirements:  I want to build a web site that should require a login.  I do not have access to Salesforce developers who can create Visualforce pages.

Solution: Communities using  Instead of using a site you would use is a CMS ( Content Management System ) that allows for drag-n-drop building of a user interface.  It is not as flexible as Visualforce, but a public site can be setup by a non-developer.

Final Thoughts
For all of the above solutions make sure you take into account licensing costs early in the conversation before you get too far down the road.  Sites by itself is free up to certain ‘page hit’ thresholds.  Customer communities are cheaper than partner communities since less data is being accessed.  With both customer and partner communities you need to think about whether you want to buy named user licenses or a block of logins per month.

Please reach out if we can help with your decision making on a project like this.

Posted in Technology | Tagged , , | Leave a comment


his Sundog Spotlight is dedicated to our summer interns: Braden, Alecia, Meredith and Katie. These four have studied at the U of M, MSUM and NDSU. The summer internship session started at the end of May and will continue through the middle of August. Let’s not wait any longer, it’s time to meet our interns:

The Dog Park at Sundog – Fargo, ND.



Alecia Hupperts – Project Manager Intern





Alecia joins us as our Project Manager intern and is a senior at MSUM majoring in Mass Communications. She is originally from the Shoreview and Roseville area in the Twin Cities. Alecia is passionate about advertising, anything that is a good challenge and cats! She is involved in several advertising organizations on campus and also enjoys painting and the outdoors. Alecia enjoys spending time at the cabin and camping with family and friends.

Want to know more? Here are a few fun facts about Alecia:

• She just returned from studying abroad for 2 months in Europe, visiting 20 cities in 6 different countries.
• She can tell you how a cup of coffee will taste just by looking at it. 4 years of experience at Caribou will do that to you!
• She is interested in Gothic Architecture, especially cathedrals.
• She loves to paint portraits and complex fabric folds.
• Her favorite summer activity is sailing.
• She’s never had braces or a cavity!

Meredith Wathne – Creative Writing/Social Media Intern



Meredith, a.k.a. Mer, is a MSUM grad with degrees in Integrated Advertising and Public Relations, and Multimedia Journalism. She grew up in Cooperstown, ND. She will be working as our Creative Writing & Social Media intern this summer. She has a passion for all things marketing, PR and journalism. In her spare time, she loves to read, write and play sports. She also loves dogs and hanging out with family and friends.


We know you’re dying to know more, so here are a few fun facts from Meredith:

• I’m addicted to coffee!
• I’ve been to eight European countries. I traveled there in high school for a band/choir tour.
• Owls and Jennifer Lawrence are my spirit animals.
• BBQ Chips and Swedish Fish are a food group in my book.
• My favorite TV shows are Parks and Recreation, The Mindy Project, New Girl, Broad City and Scandal.
• I can quote movies/TV shows like a champ.

Katie Schalow – Graphic Design Intern



Katie is a University of Minnesota grad with degree in Graphic Design and minor in Art. She grew up here in Fargo and is the eldest of three siblings – Matt, Emma, and Natalie. She enjoys spending time with her family and loves photography, running, rollerblading and cooking! She is addicted to Netflix and enjoys catching up with friends.


Keep up with Katie with some fast facts:

• She just completed my first marathon.
• She loves all animals (especially cats) and has a pet cat named Avett.
• Her favorite foods are avocados and popcorn.
• She will forever be a Harry Potter nerd. (And we like that about her.)

Braden Stevenson – Technology Intern




Braden is a senior at NDSU working towards his major in New Media & Web Design. He is originally from Bismarck, ND and has always been intrigued by innovation in the tech world. He has a passion for web development and design and loves to analyze how websites are set up and what keeps them working every time he visits a new one. He enjoys spending time with family and friends while attending community events in the area.

As if that wasn’t enough to convince you that he’s a notable addition to the team, here are a few fun facts from Braden:
• I love spicy food to death. I put Sriracha sauce on everything and suffer the consequences because it’s worth it.
• I was in the Northern Eclecta and an NDSU showcase last fall for pieces of my poetry and short stories.
• I’ve downloaded, rented, borrowed, and purchased a physical copy of Titanic but I still have never watched it.
• I’ve been part of over 100 volunteer and charity events.
• In my second year of college, I pranked my roommates at least once a month for a year.

And that’s our team, folks. We’re impressed and we hope you are too. Throughout the summer, these four individuals can be found in the Dog Park working on a pro-bono promotional project with STEM Academy as a part of our Education Program, while fulfilling their other time with projects in their specific area and learning from our experts.

Posted in Technology | Tagged , | Leave a comment


Two’s company, three’s a crowd” applies well to marketing emails. Lulu, a publishing company that I use, has gone awry with their email strategy and somehow I’ve been getting three emails at a time from them lately – all within fifteen minutes of each other.

Lulu email screenshot

Lulu emails screenshot


As much as I love this company’s publishing services, their email strategies are nothing to write home about. 90% of their emails that arrive in my inbox have little or nothing to do with the way I use their services. For instance, photo books have been the focus of my projects in the last few months and, contrary to expectation, they send me offers, deals, and how-to’s on story books and their marketing services. It makes the most sense that my activity on their site should dictate the emails they send to me to increase the likelihood that I will engage with content that is relevant to my needs at the time.

I was hoping that Lulu offered email preferences where I could manually set my email preferences since they did not do it dynamically. Unfortunately, the “manage your account preferences” only asked for additional personal information that wouldn’t have helped define my email preferences.


What Lulu is missing is relevant campaign separation. Sure, they have campaign segments, but they overlap so much it’s difficult to differentiate the purpose of one campaign from another. If someone is making photo books, put them in a photo book campaign, and if someone is making an e-book, set them up with some marketing service options. However, someone had better be a Lulu publishing freak before they get introduced to three email segments at once! For most people, three emails within fifteen minutes would constitute spam and an immediate address block or unsubscribe.

Never forget that “less is more.”

Posted in Technology | Tagged | Leave a comment