header-logo

Knowledgebase

Customisation and Localisation of Promotions

In WHMCS 7.6 and later, MarketConnect promotions and upsell content can be customised and translated via language files.

Customising/Translating the Content

An example promotional banner for SSL is shown below.

Let's begin by breaking this down into the individual parts that are used to create the promotional content.  They are as follows.

In this example, the promotion is for SSL, it is a promo (not an upsell), and it is for the RapidSSL product.  These pieces of information are important when it comes to building the language string name you will need to use in a language file to customise the content.

Below is the structure of a MarketConnect promotional language string.  Note that it is made up of 5 parts:

  1. The first element is always 'store' and represents the namespace used for all MarketConnect language strings
  2. The second element contains the product type. At the time of writing this can be one of either ssl, weebly, spamexperts, sitelock or codeguard
  3. The third element is the promotion type. Promotions are the banners and content displayed to users who have not yet purchased one of the MarketConnect services. Upsells are the the banners and content displayed to users when there is a recommended upgrade to the product they currently have. Valid values for this element are promo or upsell
  4. The fourth element is the product name and takes the format "service_product".  In this case it is the rapidssl_rapidssl product
  5. The fifth element is the element name of the promotional content to be modified. Valid values for this include the following: headline, tagline, description, feature1, feature2, feature3, feature4 and cta

Putting all of this together, we can now add the following lines to our language file.

As with all language customisations, it is recommended to create an override file to ensure your customisations are preserved in future upgrades. More information on working with language overrides can be found in our languages developer documentation.

The result is as follows:

$ cat lang/overrides/english.php 
<?php
/**
 * Language Override File
 * English (en)
 */
$_LANG['store']['ssl']['promo']['rapidssl_rapidssl']['headline'] = 'Add SSL to your website';
$_LANG['store']['ssl']['promo']['rapidssl_rapidssl']['tagline'] = 'with the #1 choice in SSL Certificates';
$_LANG['store']['ssl']['promo']['rapidssl_rapidssl']['feature1'] = 'Add the padlock to your website';
$_LANG['store']['ssl']['promo']['rapidssl_rapidssl']['feature2'] = 'Avoid Chrome Security Warnings';
$_LANG['store']['ssl']['promo']['rapidssl_rapidssl']['feature3'] = 'Protect your customers privacy';
$_LANG['store']['ssl']['promo']['rapidssl_rapidssl']['feature4'] = 'Secure your website';
$_LANG['store']['ssl']['promo']['rapidssl_rapidssl']['cta'] = 'Act now, add';

If we now refresh our client area page, the promotion now appears as follows:

Differentiating Upsells and Promos

The following definitions should aid in deciding whether to use "upsell" or "promo" in your language string when translating the  content.

Promo

"Promo" is used when displaying a promotion for a product which the customer does not yet own.

For example, if the client currently has no RapidSSL products in their account, they see a promotion for a RapidSSL certificate, this is considered a "promo" to promote the respective product.

Upsell

"Upsell" is used when displaying a promotion for a product which the customer already owns.

For example if the customer has a "Weebly  Lite" plan in their account, a promotion is displayed for another more expensive Weebly product (e.g. Weebly Pro), this would be considered an "upsell". 

Supported Product Types and Product Names

 

SSL Certificates

"Product Name" Value Product
rapidssl_rapidssl
RapidSSL Certificate
rapidssl_wildcard
RapidSSL Wildcard
geotrust_quickssl
GeoCert QuickSSL
geotrust_quicksslpremium
GeoTrust QuickSSL Premium
geotrust_quicksslpremiumwildcard
GeoTrust QuickSSL Premium Wildcard
geotrust_truebizid
GeoTrust True BusinessID
geotrust_truebizidev
GeoTrust True Business ID with EV
geotrust_truebizidwildcard
GeoTrust True Business ID Wildcard
symantec_securesite
Symantec Secure Site
symantec_securesitepro
Symantec Secure Site Pro
symantec_securesiteev
Symantec Secure Site EV
symantec_securesiteproev
Symantec Secure Site Pro EV

 

Weebly

"Product Name" Value Product
weebly_lite
Weebly Lite
weebly_starter
Weebly Starter
weebly_pro
Weebly Pro
weebly_business
Weebly Business
weebly_performance
Weebly Performance

 

SpamExperts

"Product Name" Value Product
spamexperts_incoming
SpamExperts Incoming
spamexperts_outgoing
SpamExperts Outgoing
spamexperts_incomingoutgoing
SpamExperts Incoming/Outgoing
spamexperts_incomingarchiving
SpamExperts Incoming Archiving
spamexperts_outgoingarchiving
SpamExperts Outgoing Archiving
spamexperts_incomingoutgoingarchiving
SpamExperts Incoming & Outgoing Archiving

 

SiteLock

"Product Name" Value Product
sitelock_lite
Sitelock Lite
sitelock_find
Sitelock Find
sitelock_fix
Sitelock Fix
sitelock_defend
Sitelock Defend
sitelock_emergency
Sitelock Emergency

 

CodeGuard

"Product Name" Value Product
codeguard_lite
CodeGuard Lite
codeguard_personal
CodeGuard Personal
codeguard_professional
CodeGuard Professional
codeguard_business
CodeGuard Business
codeguard_businessplus
CodeGuard Business Plus
codeguard_power
CodeGuard Power
codeguard_powerplus
CodeGuard Power Plus

 

If you have any questions or need assistance identifying the language strings to use for your particular use case, please contact our support team.