IMPORTANT: Final Phosphor Media Module Versions.Download all modules for free!
Since 2001

Easy Contact — More Than Just Contact

Here's a quick report on how Easy Contact helped us with implementing our Optimal Checkout service for a client. We hope this gives you some ideas on how Easy Contact can help you improve your customer experience and customer service.

When a client requested our Optimal Checkout service for their website, our first step was to review their Google Analytics to see where in the check out process customers where bailing. Of course, Google Analytics was very helpful to identify the specific screens and where customers bailed. But, Analytics doesn't tell you WHY. So, how do we answer this question? While we give ourselves a lot of credit for our combined 30+ years of user interface /interaction experience, that experience mostly tells us we often are left to making educated guesses.

Fortunately, this client had been using our Easy Contact module for several months, and had set it up with specific topics such as:

  • Product Questions
  • Shipping Information
  • Order Issues
  • Site Issues/Feedback
  • Checkout Problems

So, we immediately went to his Easy Contact message log in his admin and used Easy Contact's Sort and Filtering abilities. We immediately started seeing specific patterns of issues. Customers where asking:

  • What do I put in the Other State Province?
  • Why does it keep telling me that I'm missing input fields?
  • What does Email Lost Passwords To mean?
  • Why doesn't it accept my password?

Coupled with Easy Contact's "click track" it was easy to correlate the exact issue the customer was experiencing.

Now, we not only know WHERE problems occur via analytics, but WHY.

What was surprising wasn't necessarily what they said; it was that they mentioned it in the first place. Usually, when customers run into problems like these, they just leave. Since Easy Contact's friendly prompt is always RIGHT THERE, you are more likely to hear about issues that MANY of your lost customers had.

Getting Ready for the Holidays

Mid July — and you know what that means. For eCommerce store owners, it means its time to get ready for the Holiday Shopping Season. But like getting ready for a vacation (go on, google it...we'll wait) your first task should be getting your vehicle cleaned and checked out.

So, how does one 'clean' a web site?

Good question. And one we'll try to answer here.

One answer, similar to getting a vehicle ready, is to 'take it to a pro'. If you can afford it, its the best approach. a professional will have access to tools and knowledge you don't have. They'll be able to tell, for example, that there's a 80% chance your alternator will fail in 4 weeks. But if you can't, there are some simple steps you can take.

Run Database Tools

While not as critical as it used to be, there still reasons to run the basic Database tools in Miva Merchant.

Run Database Tools

  1. Go to Menu | Data Management and click the Database Tools tab.
  2. Click Delete Shopping Baskets.
  3. Leave the defaults checked, and click Delete.
  4. When Merchant finishes this task, click Pack Databases.
  5. Next, open whatever application or tool you use to manage your schedule and at least every month, write down "Run Database Tools".

Remove Unused Modules

Many of us have modules we no longer use. Either because built in functions replaced them, or we just don't need/want those features any more.

If a module's features are no longer needed, you should remove their code and module assignment (items) from the pages. The easiest way to do that is to simply make the module INACTIVE (through the Modules folder). However, its better to remove them completely if for no other reason than to make the Merchant admin easier to navigate.

Payment and shipping modules are often the most vexing to remove completely has you must also delete any previous order that used that module. But we still recommend getting rid of them (and their orders) unless they've been used in the last year or so and want to retain the order data for historical and or customer service reasons.

(Note 1: Each module area (i.e., Shipping, Payment, System Extensions, Utilities, etc) have their own Add/Remove Module tab. Their use is similar to the Utilities version documented below.

(Note 2: If this is a Phosphor Media module, go module's opening screen (in the Utilities folder) and see if there is a listing to "Unassign" the module. If so, click that will make your life much easier as you will see below.)

To remove unused modules

  1. Click to open the Utilities folder tabs.
  2. Click Add/Remove Modules tab. (You might need to click the ellipse button on the far right of the tab list.)
  3. In the Installed Modules section, locate the module and click "Remove".
  4. In some cases, you will see a popup message containing: Module "xxxx" is in use by one or more Store Morph Items..." You will have to locate those items by either: a) referring to the modules documentation b) use a tool like Template GPS see below), or c) use the following procedure
    1. Open the Modules folder.
    2. In the Modules list, locate the module in question and note the modules code.
    3. Open the Store Front (SFNT) template through the User Interface folder then click its Item tab. Enter the module code into the search box and click search. When the module item comes up, click the Edit button.
    4. Note the Code (Item Code) that is assigned to the module. (This is usually the same but may be different than the Module Code).
    5. Edit Item screen, click the Pages tab.
    6. Scroll through and look for the pages to which the module is installed. For each one, open that page and search through the templates for the Item Code.
      Note: if you cannot locate it, you might need to get Template GPS or get help locating it from other sources.
    7. Remove the code and repeat these steps for each page where the item is used.
    8. Now repeat the main procedure and see if you can remove the module. If it still reports an error, we encourage you get assistance at this point.

Template GPS

If you have Template GPS, open it and type in the module's item code. (If you don't know it, see the first few sub steps above.). That's it. Template GPS will list each template where the item is located. You can now go directly to that template and remove the unused SMT item.

Getting Ready for the Holidays: Get Your Scripts Together

Many sites have javascript/jquery scripts that are no longer needed or used. These orphan scripts are problematic for two reasons. First, they slow down your site, and most importantly, they can prevent other scripts from working correctly or at all.

Orphan Scripts

Finding orphan scripts isn't easy and requires combing through the site and looking at page source code. Fortunately, most scripts are added globally, even if they are used only once, so you can usually just focus on the Store Front page.

To locate orphan scripts

  1. Using Chrome or FireFox, go to your site's storefront page (
  2. Right Click on the page and choose Inspect Element. The Element Inspector pane opens.
  3. In the Element Inspector, click the top most item then press CTRL-F to open the search box.
  4. Type "<script ".
  5. For each instance found, try to identify the nature of the script. Some are obvious like "//", some are pretty obscure like "/base.js". Hopefully, these more obsure scripts have comments inside the file. To view these comments, right click on the file path and choose "Open in New Tab". Comments will typically be in the first few lines of the file. (While you are there, you might use the information to see if there are updates to the script and get them.)
  6. You also want to look through all scripts for duplicate instances of scripts. The most commen culpret is jQuery.js. You should only have one reference declared.
    Note: you don't need to worry about mulitple script instances if they are written as shown below. This method first looks to see if the script has been loaded, and only loads if jQuery is not detected.

Tip: Many sites now use social media widgets in place of standalone scripts such as (which we highly recomend). However, these sites also still have the old Facebook sharing scripts still loading (like the one below).

Check Your jQuery Version

Similar to orphan scripts, out dated scripts can also cause un-intended consequences. The most common offender is the jQuery base script. We also recommend that, if you are using jQuery, that you call the base script from a CDN source (Content Delivery Network) instead of copying the script locally.

To determine your jQuery Version

  1. Using Chrome or FireFox, go to your site's storefront page (
  2. Right Click on the page and choose Inspect Element. The Element Inspector pane opens.
  3. Locate the Console Pane and click next to the blue chevron and type: $().jquery;. The console will return a value indicating the version like "1.11.1". If you do not see the Console Pane, click the little chevron-underscore icon at the far right top of the Element Inspector pane (see image).

Unless you have a very specific reason, you should use jQuery version 1.11.1. You should also load it from a reliable CDN. The main reason is that, this is a common resource. Almost every web device in existence ALREADY has this file on it. Therefore, it doesn't even need to be downloaded, just recognized.

To update/correct your jQuery link

  1. First, locate the template where jQuery is currently loaded by searching for "jquery.". Typically, most sites will have the jQuery reference in one of the following templates:

    User Interface | Settings | HEAD Tag Content
    User Interface | Settings | Global Footer

    Tip: If you have trouble locating this link, jQuery may have been loaded with a script reference instead of a link. See "Updating jQuery Script References".
  2. We recommend using the following link in the HEAD Tag Content template:

Updating jQuery Script References

The process is basically the same as for updating and correcting jQuery link references. The difference is finding where these references come from. Some may be internally by modules. For example, our Easy Review module uses a script reference to ensure jQuery is available. We recommend using a tool like our Template GPS module (actually, there are no other modules that will do what Template GPS does) to search your templates for instances of terms like "window.jQuery". You might also need to dive through the page source of your site's home page and look for references before and after the script reference to help narrow down where the reference is coming from. If you determine that a module is inserting the reference, and the reference is out of date, consider contacting the module's vendor to request they update their code.

Getting Ready for the Holidays: When the Unexpected Happens: Part I

During the holiday season, even a few hours of lost sales can greatly impact your bottom line. Weather, lost internet connections, power losses, web site crashes, etc. will ALWAYS pose a potential loss of revenue. The trick is to minimize these losses. Here's a few relatively easy things any web site owner can do to be prepared.

Back Ups, Back Ups and Back Ups

The number one thing YOU MUST DO (cause it's actually pretty easy in most cases) is to ensure you have a reliable back up available for your site. IF, you are hosted by Miva, or a Miva Top Tier provider (if you don't know your host top tier, it probably isn't) then this task is already done. If not, simple test. Ask. Contact your web host and ask for their most recent backup. If they balk, stall, give you a run around...then you still have time to move your site to a Top Tier Host. DO NOT ACCEPT ANY OTHER RESPONSE than "oh, how far back to you want?" They should have at least a back up that is less than 48 hours. 24 is more like it should be.

Note: IT IS NOT practical to do your own back up. It just isn't.

Your Office Computer: The Elephant in the Room

So, we've been a little harsh on some hosts who do not really provide adequate back up services...fine, warranted, moving on. Well, what about YOUR computer. You know, the one on which you may be reading this email. If this is the computer with all your site emails, site information and administration tools, do you have a daily backup program running? If so, do you know how to re-cover that back up? (And if not, GET ONE NOW!!!) Well, there is an easy way to walk yourself through the process, and in the process, cover our next "preparedness" tip. Get a back computer. You can get a decent enough PC for under $500.00 (or just grab the one your kids just gave up on). It just has to be able to run a recent operating system. Hopefully, if it's every used, it will only be needed for a few days. No, using that back up PC, go through the actual steps to replicate your current PC to the back up.

Have a Back Up Computer Handy

See above. End of story.

Power and Internet Connection Back Ups

Power and Internet outages might be rare, but three are some easy ways to prevent being cut off from the world if your power or internet connection goes down.


First, EVERYONE should have an Uninterruptable Power Supply (UPS). Everyone. We recommend one that will give you at least 15 minutes. Long enough to shut down gracefully or transition to another power source. Realistically you could only expect to use a UPS system for a maximum of an hour to power a desktop (It will probably EXTEND a laptop for almost two/three hours...which makes laptops a good choice as a back up PC if it's not your main one.) If your area is prone to power disruptions, a small generator might make sense. They run about $800/$1000 and will power a small office setup just fine.

Internet Connection

Depending on your provider, losing your internet connection may be a rare or way to often occurrence. Doesn't matter. The solution is simple especially with a little planning. Probably the easiest is a friendly neighbor who is NOT using the same carrier. Go introduce yourself, and offer to swap Wi-Fi access to be used for such occurrences. (There are easy ways to configure access securely for each connection. If you don't know how, ask some 13 year old kid to do it.

Next in line would be using your cell phone if you have a decent data plan and signal. It's called Tethering. Generally speaking, you download a Tethering application onto your phone, configure it, and then connect your phone to your computer via its USB connector (or whatever it is they call it on an iPhone). IMPORTANT: If this is your plan, and you've never done it, WALK THROUGH the process a few times NOW. It's not completely dead simple, and certainly is going to harder if you are doing it for the first time while customer requests are piling up somewhere you can't reach them.

Also, in a pinch, you might be able to administer your site using a cell phone. Again, try it. You might find it painful, but again, practicing now will make using it under stress much easier.

Getting Ready for the Holidays: When the Unexpected Happens: Part II

Here are some simple things you can do to make your business more disaster PROOF. And when that fails, here's some contingency plans you should have in place.

When Success Becomes a Failure

Here's one problem every store owner probably wishes they could have--until they have it--too much traffic. Even with the best of hosting partners and a great platform such as Miva Merchant, every system has its limits. Large ecommerce concerns solve this by having massive amounts of server resources available. (Some estimates suggest Amazon's E-commerce website ALONE--not its web stores--run to over 150K servers.) Sadly, most of use can't even justify running a single dedicated server. However, there are some things us small ecommerce store owners can do to accommodate a big uptick in traffic:

  • Consider upgrading your account. Talk with your host to find out what is available and the cost of upgrading. In some cases, we're talking about 20, 30, 50 dollars a month in cost. That cost is EASILY offset by two, three or ten more orders you'd get from the increase in server speed and availability.
  • Make sure your site is as efficient as possible. Sites such as can help you identify areas of your site that are slowing it down. Consider also paring back on non-critical functions. Have a fancy slideshow on the home page? Consider building in a way to turn it off temporarily should traffic increase.
  • (Sheepish Plug Follows.) Consider creating a static copy of your site using our Merchant Optimizer module. Optimizer creates and EXACT copy of your dynamic site as static HTML pages. No matter how efficient your site, static pages will be 10x faster and less resource intensive.

    Merchant Optimizer was BORN from the situation we speak of. In brief, a longtime client got a spot on Good Morning America--their 1K-2K daily visits spiked to 200K per HOUR, taking server down. We built a very rudimentary version of Optimizer before their next spot the following week...and the rest is history.

    You could implement the Optimizer pages immediately and have it place, or just keep it ready IN CASE. For example, when Miva Merchant launched the Taylor Swift site just before her last tour, they choose to install Optimizer and have ready should the traffic peak to high. Other sites run Optimizer all the time so it's always ready.

    Note: We DO NOT recommend you try adding Optimizer while you are in the middle of a traffic spike. It does take some time to install and configure.

Shipping and Payment System Alternatives

If your site uses an outside shipping (FedEx, USPS, UPS, etc.) or Payment (AuthNet, Paypal, etc.) system, those too can fail...especially around the holidays. Simply put, have alternative in place and ready to switch on. While replacing FedEx (for example) with Flat Rate or Weight Based shipping may not be ideal in terms of recovering shipping costs or providing the best shipping deal for your customers, it's better than not having the sale at all. Remember, these systems take time to tweak, so set it up NOW, and then just set the module to In Active. When needed, you just make them Active.

Same for payment. Typically your only fall back plan is to setup the Credit Card Payment with Simple Validation module to use has a backup. If it's within your budget, you might consider having an alternative gateway payment system in place. For example, if you use AuthNet, consider having PayPal Pro setup and ready to step in. Gateways typically charge $20/$30 a month, so it might be worth paying the $100 or so just to have it available just in case.

Fine Tune Your Maintenance Message

If you encounter a problem where your site can function in Maintenance mode, make sure that display is as professional as possible. Consider offering a discount coupon to entice customers to come back. Also considering offering to take their email address (using a basic email link so this feature doesn't require your store to process the request) and contacting them when the site is back online.

Lastly, Have a Back Up You: A Personal Contingency Plan

Many of us are single owner/operators of our business. If we are lucky, maybe we have a spouse or partner or an employee or two. But, with such thin resources, what would happen to your business should you, say get appendicitis on Cyber Monday?

While nothing is going to replace YOU, you can mitigate disaster to a degree with a Personal Contingency Plan. First, identify someone(s) who CAN step in. Someone who could be trusted to at least man the store, respond to emails, institute written policies for returns, credits, customer service etc. This of course means that these policies HAVE TO BE WRITTEN DOWN. So, write them down. Also include all critical access information such as usernames and passwords to shipping and payment gateways, email accounts, social media accounts, hosting and domain registration, suppliers, support personal, etc. (If you use a personal phone for your business, you'll want to include access to call forwarding...or stop using your personal phone for business.)

Make Working On ReadyTheme Templates Easier

If you have every tried to modify the CSS used in one of these ReadyThemed based stores, you might either be a candidate for The Men's Hair club or AA. Even the great CSS inspection tools in Chrome (or in a pinch FireFox) become pretty useless when every CSS Style tag points to "css.php". Well, here's a quick template edit you can make to get Inspection tools pointing to the right file.

Chrome CSS Inspector

First, a VERY brief introduction to Chrome's Inspection tool. (FireFox has a very similar one.)

To access the Inspection tool, simply point to an area of a web page who's HTML/CSS markup you want to explore, and right click on it. From the drop down menu, choose Inspect Element.

Chrome's Inspector shows you the HTML source, and the related CSS properties that effect the appearance of the HTML markup on the page. You can see the CSS selectors and what CSS file they come from, and edit BOTH the HTML and CSS temporarily and view the results on the page. Once you've made the adjustments you need, you can then access that file and copy the changes over to that file.

Now, Taking Care of That Pesky ReadyTheme Problem

In the your store's admin:

  1. From the Menu, choose the User Interface item and then click Settings.
  2. In the Settings page, locate, and if necessary open, the HEAD Tag Content template.
  3. Locate the following code:
    And replace with

    For Suviant
    For Optics
    For Iron & Wool

IMPORTANT: When you are done working on your site, you should revert back to using the css.php file. Not a big deal, but it does make your site a tiny bit faster.

Hiding Your Work from Customers

When you need to put up some new content or setup a new feature, you don't really want your customer's to see it half-baked or incorrectly configured. Well, there's an easy way to hide work in progress, and we'll show you how.

Example 1: New Home Page Slider

Lets say you want to replace your static home page banner image with an image slider. Normally, adding a feature like a slider has three parts: a javascript and css file, the HTML of the slider itself, and the javascript to actually initiate the slider. Technically, you only need to hide the HTML portion of the slider. So, you can add the .js and .css link references to the head section of the storefront page, and also include the javascript script portion of the slider. (The javascript script is usually placed before the closing </body> tag of the page).

Now, the hiding part:

  1. First, you'll need your current IP address. Just go to google and enter "my ip address"

  2. Next, in your store front template, locate where the store front banner image is called. It should look something like this:

  3. Now we'll use a conditional statement, based on the IP you obtained in step one.

    You'll add the new HTML for the slider to replace the "Stuff Only You Can See" text.

Note: IP addresses are unique to a specific internet connection. So, if several computers use the same connection to the internet (say in your office) they will ALL be able to see the changes. Also, not everyone is given a static IP address. So, it can change from day to day, or if your internet connection resets. Some folks prefer to use a similar method by testing for a specific customer account. The problem with that is, many features on your site can change because you are logged in.

Example 2: Site Style Overhaul

One of the most common changes a store owner might make is to give their site a quick face lift or a bit of seasonal color. With the advent of CSS based layouts, this becomes a relatively simple task. However, unless you prototype the changes on a dev site, your customers might see some odd looking web pages while you sort out the needed changes. (And even if you use a dev site, there's a good chance some minor difference between the two sites will effect some page somewhere.)

Here's how to make CSS Changes Without Anyone Noticing:

  1. Locate where in your store that css file are loaded. In most cases, they are loaded into the HEAD Tag/CSS template as:


  2. Use the same basic conditional as in Example 1:

    Note: If you are going to work on multiple style sheets, you'll need to add new versions of each one.

Example 3: Testing a New Email Format

If you are using the new Templated Email system, you can easily work on a new email format without anyone else seeing it. This works by taking advantage of a cool feature of templated emails. IF, the resulting email has no doesn't get sent. So, all you need to is the following:

Revise or Create a New Templated Email:

  1. Open up an existing or new Templated Email template.
  2. If you are using a new Templated Email, add the following code to the Details template of that email template, at the top and then very bottom:

  3. If you are modifying a current Templated Email, do the following in the Details template of that email template:

  4. Now you can work on the top section of the Details template, and use the "Resend Email" feature under Order Processing to try out your new Email design without effecting actual orders.

Make Updating ReadyThemes Easier

Many Miva store owners are making use of ReadyThemes to get a head start on their web site. Some have already discovered that this head start comes with a bit of a price when it comes to keeping up with Miva and ReadyTheme updates and bug fixes.

The Problem

Miva, and especially ReadyThemes, get their look and feel elements primarily via Cascading Style Sheets (CSS). CSS is a powerful and flexible methodology for web site styling and UI control. But, that power comes at a complexity price. In order to modify the appearance of a ReadyTheme, you often have to change one or more styles in various style sheets. (See our previous article on Make Working On ReadyTheme Templates Easier.)

So now, when an update becomes available, you either have to grab the new versions of the style sheets and redo your changes, or possible worse, comb through dozens of style sheets and hundreds of styles and update individual styles.

The Solution

OK, not a 'solution' but definitely a ride in the right direction.

Its quite simple, what we been doing to make updates more seamless is to place ALL customized styles in a separate style sheet. That way, even if the specific style changes, there is a good chance you won't have to make any changes due to how CSS works.

First, let's take a quick look at how part (the first 'C', Cascading) of CSS works:

Let's say we have a style tag that looks like this:

And for our customization, we want that style to be brick-red in color. We can do that (in the separate style sheet, called AFTER the initial style sheet) as follows:

Since we only declared the color to change, the second style tag only changes the color. So, if an update adds something like the following to the original style tag...

your customized color change is preserved AND you get the change implemented by the update.

How to Do It

Setting this up is really quite easy.

  1. Create a file in the /css/ directory of your site called 'custom.css' (you can actually use whatever name you want...but change its reference throughout this procedure).
  2. In the User Interface | Global Settings | Head Tag Content template, locate the ReadyTheme CSS call (as shown below above the red text)

  3. Enter the following text

  4. Now, whenever you need to change a style tag, add the Additions or Changes to that style in your Custom.css file.

A Friendlier Face for Your Company

Emails from your store are part of your company's public face. You can make yours friendly in under five minutes.

Just Like Amazon, E-bay, and Other Large Retailers

If you ever ordered from Amazon, e-bay or others (and who hasn't), you may have noticed something different about the emails you receive from them. Instead of something like this:

You see somethig like this:

Most email application will 'translate' emails into friendly names if you save them as contacts or respondents. All that means is that what you see on YOUR company emails, may not be what your customers see.

So, how do you do it in Miva? Simpler than we thought. (You'll probably want to do this for all emails, but we'll start with the Customer Confirmation email.)

  1. In your Merchant admin, go to Order Fulfillment, and select the Customer Confirmation email template.

  2. Click the Edit Settings button.

  3. In the Edit Email box, change the From: email to something like the following:

    If you are using a token, it would look like this

  4. Click Save. That's It!

To test your changes, go to Order Processing, and select a recent order to edit. Click the Order Emails link towards the top of screen, select email template you want to test and use your email for Override To address. That will send a copy of the email to you.

Housekeeping 101 (Part A); 3 Simple Things Make Your Life Easier

Here's part A of a short series that will hopefully make your life as a Miva Store Owner (or just someone who works on a Miva Store) Sanier, Happier and Easier.

The Three Cardinal Rules for Page Template Editing

1) Comment, Comment, and Comment on your Comments

Seriously. Every bit of code you change or add should have a comment...if only to say you've inserted it and can therefore find the difference between standard and customized templates. Typically, we tried to note: a) who is making the change. b) the RESULT desired. c) requirements, for example, 'l.settings:some_array:variable from some-other customization.

For example:

2) Formatting: Keeping the Tab Indentations Consistent

Keep the tab indentations and their use consistent throughout the template. This really helps to see not only dependencies (i.e., If a product has this, and that, then do x) but also to find a block of code you are looking for.


3) Cleanup After Yourself.

A common issue we see in templates are things like code sections that have been commented out using <mvt:comment></mvt:comment> or <!-- -->. Unless this is temporary REMOVE THE CODE. Instead, use comment to the template notes like: Removed Wish List Code - Not Used). (Also note the difference between <mvt:comment></mvt:comment> which tells Miva Merchant to completely skip this sections, verses <!-- --> which just hides the result from the customer.

Instead, use the Template Notes and Recall template feature to allow you to return to a previous template version if you need to view or copy back a specific chunk code.

use template notes

Here's the relevant Miva Documentation on using Template Notes and Versions.

If you routinely document relevant changes to your template, you can further your goal of having a clean, organized work space by deleting ALL template versions that DO NOT have a note attached to them. This removes template versions that: a) either don't work or b) will never need to reference anymore. Again, this makes it very easy to find the versions that DO have value.

(Our Template GPS module has a cool feature (among others) that will clean up ALL un-documented template versions (i.e., has no Notation) with a single click, instead of having to do it template by template.

Special Offer for Tech Tip Readers:

Get our Template GPS! module — the easiest way to navigate and find stuff in your templates — for 25% OFF.

The easiest $21.66 investment for a quick ROI.

Hurry, offer ends June 15th. Just use NAVIGATE as the promo code during checkout.

Next Week...

Who knows...if you've got a brilliant idea, just tell us through the Need Help? Got Questions? prompt to the bottom right. (Choose the Site Feedback subject please.)

Need Help?
Got Questions?

This is our Easy Contact Module

This feature brought to you by our Easy Contact module.

Got a Question, Comment, Request?

We're listening...