Vendor report

Is 2011 a turn-around year for the channel? Billy MacInnes asks the experts

Now that we’re close to three-quarters of the way through 2011, Irish Computer took the opportunity to ask a number of vendors for their view of the year to date and what the rest of 2011 might hold in store.

David O’Reilly, head of product marketing, Sage Ireland
"There’s much more confidence in the market, there isn’t nearly as much negativity. Small businesses are investing in software again and we’re acquiring new business at a quicker rate than the previous year." So says Sage Ireland head of product marketing David O’Reilly, who is happy to report that 2011 has been a good year for the vendor relative to last year and the year before that. He describes those years as "challenging" but adds 2011 is "much, much better." Although O’Reilly is quick to add the market is still fragile and nowhere near the levels of 2005 or 2006.

While Sage’s traditional accountancy and payroll business is steady (businesses don’t tend to switch payroll and accountancy vendor very often), O’Reilly sees the HR and CRM sides of the operation as being ripe for providing growth. "There’s much more propensity to change vendor [in those areas]," he says. "There’s a lot more growth left in the CRM market because a lot of companies don’t understand what it can do for their business."

 

advertisement

 

While there has been a strong shift to software-as-a-service (SaaS) and the cloud for CRM on the back of the success of companies like salesforce.com and Sugar, O’Reilly says there is still a market for desktop CRM systems, and a lot of companies still use them. Sage has a SaaS-based CRM product and it is currently in the process of preparing for a new release. According to O’Reilly this will form the basis of a new CRM.com strategy, which he claims will be "exciting".

On the subject of the cloud, Sage recently launched a cloud-based entry-level SaaS-based product, Sage One Accounts, in Ireland aimed at small business owners. O’Reilly says a lot of people are running a trial version of the product. "I believe it’s going to be a story that grows and grows into the rest of this year." He adds that HR is also generating more interest, possibly because companies are restructuring and Sage’s HR advice service is getting a lot more calls from businesses.

The Sage Pay payments product (which competes against Realex and PayPal) helps companies to securely make payments over the Internet and links to Sage 50 and has enjoyed "significant growth" in the last year. He describes it as "a really, really great business".

As evidenced by Sage’s HR advice service, O’Reilly believes another important area will be ‘connected services’ where the vendor strikes a partnership with a third party to provide customers with services Sage wouldn’t have. It has developed a foreign exchange service for customers with Transformate that allows them to access competitive rates, and also has a credit control service to help small businesses get payment from their customers.

"I tell the sales team we’ve got to think outside the company’s traditional area," O’Reilly says. "We have to think services, not just products and there will be more to come over the next 12 months."

The wider economy could provide a threat to the renewed sense of confidence, he warns. The upcoming budget and the situation in Europe could generate uncertainty that affects small businesses. There’s also little evidence that the banks are doing more to provide loans to small companies. O’Reilly thinks this will continue to be an issue unless the government addresses it with legislation.

On the channel side, O’Reilly says the challenging times faced by the industry in recent years have prompted many partners to develop their sales expertise. Sage has always had a "very strong technical channel" but there has been an onus on them to focus more on the sales side. He says 2011 has been a positive year for its business partners and he is optimistic for the rest of the year.

 

Martin Deignan, director of sales and marketing, OKI Ireland

Deignan makes no bones about the fact that the last few years have been difficult for the printer market, as it fell by 30-40% from 2006 to 2009. "A lot of the market was taken away," he says, "and we’ve been restructuring the business over the last two or three years, looking to add more value in terms of the solutions and services we wrap around the hardware."

So far, 2011 has been "a little bit better, thankfully". One of the biggest opportunities is the managed print services (MPS) area because it gives channel partners the chance to address the total lifecycle of the print function in their customer base. When they were just selling the hardware, they might get some services or consumables business if they were lucky, but with MPS everything is wrapped into the contract.

Deignan says MPS is definitely a major part of where the growth is coming from: "The timing is right because users are looking to save money and channel partners are looking to make money." He claims the vendor is one of the most innovative in its approach to MPS. As well as a flat rate single device contract, there’s the "optimiser" which includes a lot of flexibility.

"Many players in MPS are from a copier background and they approach it in a copier fashion based around big machines with extreme consolidation of devices," he argues. "Sometimes, that’s appropriate, but it isn’t always. We’re more oriented to finding the best solution for the customer rather than the most appropriate to the product set we have."

OKI Ireland is fairly autonomous and tries to find solutions "specific to the market". For example, it’s the only OKI territory to offer maintenance services itself and will source non-OKI products and solutions where required.

Another area where Deignan sees good opportunities is in-house colour printing where channel partners can offer a lower cost alternative for customers compared to outsourcing colour print jobs to printing bureaux.

If there’s a threat to the market it’s from the difficulties faced by SMEs in getting finance in the current economic climate as well as the longer sales they encounter, especially around MPS. But while this can slow things down, he stresses, it is not catastrophic.

Deignan believes OKI is doing a little bit better than the overall market, partly because it "has the infrastructure in place in Ireland. We’re not just in Dublin, we have regional sales people and service engineers working from home in different regions of Ireland". He describes it as having "an entrenched local presence in Ireland. We work very closely with channel partners and users on everyone’s behalf. We’ve made those investments on the ground and it’s paying off for us."

Channel partners have performed reasonably well considering the shocks they’ve had, Deignan says. A lot are being innovative, finding new ways to do business and cutting their cloth to provide new services and new ways of doing things.

He predicts OKI, and the market, will be ahead of target this year.

 

Lorcan Kavanagh, sales manager, Ireland, Scotland and UK North, Symantec

So far, things have been reasonable for Symantec. It has continued to grow, if not at an exceptionally fast rate, against a background of negative GDP. Sales manager for Ireland, Scotland and UK North, Lorcan Kavanagh adds: "You’ve got to treat everything with a bit of caution [because] you don’t know the sustainability. The pipeline is healthy but translating it into revenue takes a little bit longer. The shape is slightly different. There’s a broader range of deals and technology across a broader range of customers."

Previously the business was heavily weighted towards a small number of big customers, now it’s "more balanced". Symantec is helped by the fact a lot of its technology on the security side is not a discretionary spend, it’s something people need to do.

The evolution of Security Protection Suite has been very significant to Symantec. Kavanagh says "the world has moved away from just antivirus" but the biggest single impact in the past eight years, he reveals, has come from Symantec’s new backup appliances, (that simplify the backup environment and management thereof), which have experienced "absolutely phenomenal uptake."

It’s a coherent solution that includes hardware and software from the same vendor and makes things so much simpler and, he claims, unique. "You could cobble together different technologies from different vendors but it wouldn’t be as cohesive." The authorisation business, arising from the Verisign acquisition, is also an area of opportunity because ID protection is "very hot" in the market.

In terms of opportunity for growth, he points to data loss prevention and archiving and discovery as areas which are becoming more and more relevant. Mail security, data loss prevention and archiving in the cloud are also being taken up by a mixture of customers.

The main threats Kavanagh sees are around availability of budget and credit as well as the wider economic uncertainty. He says that some companies "have been almost frozen into inactivity. They would like to do certain things but haven’t got the wherewithal to get things done".

As for the channel, the balance of business has been moving to specialist partners that concentrate on specific solution areas and have trained their people to understand and deploy them. Meanwhile, distributors have come under pressure in terms of the role they perform. Previously they tended to be fulfilment houses but nowadays, Kavanagh argues, they need to be doing significantly more: creating opportunities, mining their data for lead generation and upselling and cross-selling opportunities. "It’s an opportunity for distributors to really show their value – and it’s expected now as well."

He says Symantec has "reasonable visibility" for the rest of the year, which gives the company a bit more confidence as the run rate of the business becomes more predictable and consistent. There is "every indication" it will do reasonably well. "We’re very clear in our value proposition and what we’re trying to achieve. Our very relevant message to the market means we will continue to do reasonably well."

Katrina Timmis, channel manager, Epson Ireland

Epson channel manager Katrina Timmis is pleased with the vendor’s performance to date in the projector market and the education sector. In the January to March quarter, Epson had 92% of the short throw projector market in Ireland. Epson has had "a very good year on projectors". The Brightlink product, which turns any surface into an interactive white board (IWB), has been going strong in the education market and is starting to generate interest from businesses and corporates looking at ways to improve their presentations.

Another big growth area is large format printers, typically 17" photo printing and upwards, where Epson has grown 67% and started to break into significant markets with its 64" products. It has also launched a new quality standard certification (Digigraphy) for fine art prints. It has signed up 14 partners to date and is "going very well". Meanwhile, sales in the consumer market are "healthy" but it’s a challenging area for everybody having to cope with lower selling prices. High street retailers are also under increasing pressure from online rivals in the rest of the EU. "Retailers have to fight very hard to offer the service in-store to keep customers coming back".

Epson has "traditionally been less noisy in the B2B market" but Timmis is excited by its Workforce Pro range of business inkjets launched this month and the accompanying Engineered for Business campaign. Claiming it marries the best of inkjet and laserjet, Epson says the Workforce Pro range can save up to half the costs of a comparable colour laser and will "turn the market on its head".

Like many of her counterparts, Timmis sees the wider economic situation as a potential threat to future growth. At a consumer level, people have less money to spend. The non-availability of finance is also hurting small business customers (and photographers). Spending is being cut at government level in the education sector. Many IT businesses across the country are going to be affected but Timmis argues Epson is not a one-trick pony, has other sectors which it can develop.

Epson has been slower than others at getting into the MPS market but is launching a solution to coincide with Engineered for Business, which Timmis describes as a very strong, attractive offering. "We’ve made our product right for this time. We’re not concerned that others have had products out a long time. We don’t see that as an issue at all, perhaps it’s more of an opportunity as our programme will be better."

As for the year, she says it will be challenging for everybody but Epson is launching 100 new products, its biggest number ever, and will continue to be proactive and create demand. "We’ll be fine, but it will be tough," Timmis concludes.

 

Niall Gilmore, country manager, Citrix Ireland

There are some times in life when a company can be at the happy juncture of having a product the customer wants at precisely the time the customer wants it. That seems to be the case for Citrix as the virtualisation (especially desktop virtualisation) trend takes hold. Country manager Niall Gilmore says its enjoyed good positive growth in 2011 so far and, judging by the pipeline, it’s likely to continue going in that direction.

Desktop virtualisation and server virtualisation are both generating a lot of interest. Gilmore admits the timing has to be right, and it appears to be so for Citrix, which has products and solutions available just as customers have sweated their assets and are looking at alternatives. "We’re getting very positive feedback from every customer we’re talking to. It’s a very good place to be in," he says. "I haven’t seen such interest before, it’s unprecedented."

The desktop virtualisation message and the ability to free the workforce and introduce different styles of working is certainly attractive, especially if it can be conveyed as a way for customers to keep what they have but reuse it in a more efficient manner.

Desktop virtualisation, Gilmore says, is "the biggest opportunity we’ve seen" with a strong appetite from organisations to do things differently with their desktops, so long as it’s cost-efficient and can be demonstrated. The migration to Windows 7 is proving to be one of the biggest drivers for desktop virtualisation.

A possible threat is presented by how people justify the cost of the project. "The technical people get it right away, but you’ve got to put together a very good business case that shows excellent cost savings and that it can deliver better productivity. Some organisations know how much their infrastructure costs but not necessarily how much it costs to manage and run over time. Organisations aren’t putting together the right cost of ownership or business case."

In terms of the rest of the year, Gilmore believes some opportunities with larger enterprises will come to fruition towards the end of the year. "The decision is very strategic – it’s not made lightly or quickly. They’ve spent a lot of time proving the concept and testing the technology. I anticipate some will be making that investment towards the end of the year." As a result, Gilmore predicts the second half of the year will be better than the first.

 

RELATED ARTICLES
#mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif; width: px;} /* Add your own Mailchimp form style overrides in your site stylesheet or in this style block. We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
Sign up for the
Technology Minute
(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='MMERGE2';ftypes[2]='text';fnames[3]='MMERGE3';ftypes[3]='text';fnames[4]='MMERGE4';ftypes[4]='text';fnames[5]='SIGNUP';ftypes[5]='text';fnames[6]='MMERGE6';ftypes[6]='imageurl';}(jQuery));var $mcj = jQuery.noConflict(true); // SMS Phone Multi-Country Functionality if(!window.MC) { window.MC = {}; } window.MC.smsPhoneData = { defaultCountryCode: 'IE', programs: [], smsProgramDataCountryNames: [] }; function getCountryUnicodeFlag(countryCode) { return countryCode.toUpperCase().replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397)) }; // HTML sanitization function to prevent XSS function sanitizeHtml(str) { if (typeof str !== 'string') return ''; return str .replace(/&/g, '&') .replace(//g, '>') .replace(/"/g, '"') .replace(/'/g, ''') .replace(/\//g, '/'); } // URL sanitization function to prevent javascript: and data: URLs function sanitizeUrl(url) { if (typeof url !== 'string') return ''; const trimmedUrl = url.trim().toLowerCase(); if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) { return '#'; } return url; } const getBrowserLanguage = () => { if (!window?.navigator?.language?.split('-')[1]) { return window?.navigator?.language?.toUpperCase(); } return window?.navigator?.language?.split('-')[1]; }; // getBrowserLanguageCode() and getSmsProgramForCountryAndLanguage() are provided globally // by the external mc-sms-phone.js script loaded alongside this inline form script. function getDefaultCountryProgram(defaultCountryCode, smsProgramData) { if (!smsProgramData || smsProgramData.length === 0) { return null; } var browserCountryCode = getBrowserLanguage(); var browserLangCode = getBrowserLanguageCode(); if (browserCountryCode) { var match = getSmsProgramForCountryAndLanguage(smsProgramData, browserCountryCode, browserLangCode); if (match) { return match; } } if (defaultCountryCode) { var match = getSmsProgramForCountryAndLanguage(smsProgramData, defaultCountryCode, browserLangCode); if (match) { return match; } } return smsProgramData[0]; } function updateSmsLegalText(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } var programs = window?.MC?.smsPhoneData?.programs; if (!programs || !Array.isArray(programs)) { return; } var browserLangCode = getBrowserLanguageCode(); var program = getSmsProgramForCountryAndLanguage(programs, countryCode, browserLangCode); if (!program || !program.requiredTemplate) { return; } var smsConsentHtmlRenderingFixEnabled = true; const legalTextElement = document.querySelector('#legal-text-' + fieldName); if (!legalTextElement) { return; } const divRegex = new RegExp(']*>', 'gi'); const blockWrapperRegex = new RegExp(']*>', 'gi'); const fullAnchorRegex = new RegExp('<a.*?', 'g'); const anchorRegex = new RegExp('(.*?)'); const template = smsConsentHtmlRenderingFixEnabled ? program.requiredTemplate .replace(/\s*

]*>/gi, ' ') .replace(blockWrapperRegex, '') : program.requiredTemplate.replace(divRegex, ''); legalTextElement.textContent = ''; const parts = template.split(/(.*?)/g); parts.forEach(function(part) { if (!part) { return; } const anchorMatch = part.match(/(.+?)/); if (anchorMatch) { const linkElement = document.createElement('a'); linkElement.href = sanitizeUrl(anchorMatch[1]); linkElement.target = anchorMatch[2] ? sanitizeHtml(anchorMatch[2]) : '_blank'; linkElement.rel = 'noopener noreferrer'; linkElement.textContent = sanitizeHtml(anchorMatch[3]); legalTextElement.appendChild(linkElement); } else { legalTextElement.appendChild(document.createTextNode(part)); } }); } function generateDropdownOptions(smsProgramData) { if (!smsProgramData || smsProgramData.length === 0) { return ''; } var programs = true ? smsProgramData.filter(function(p, i, arr) { return arr.findIndex(function(q) { return q.countryCode === p.countryCode; }) === i; }) : smsProgramData; return programs.map(program => { const flag = getCountryUnicodeFlag(program.countryCode); const countryName = getCountryName(program.countryCode); const callingCode = program.countryCallingCode || ''; // Sanitize all values to prevent XSS const sanitizedCountryCode = sanitizeHtml(program.countryCode || ''); const sanitizedCountryName = sanitizeHtml(countryName || ''); const sanitizedCallingCode = sanitizeHtml(callingCode || ''); return '' + sanitizedCountryName + ' ' + sanitizedCallingCode + ''; }).join(''); } function getCountryName(countryCode) { if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) { for (let i = 0; i < window.MC.smsPhoneData.smsProgramDataCountryNames.length; i++) { if (window.MC.smsPhoneData.smsProgramDataCountryNames[i].code === countryCode) { return window.MC.smsPhoneData.smsProgramDataCountryNames[i].name; } } } return countryCode; } function getDefaultPlaceholder(countryCode) { if (!countryCode || typeof countryCode !== 'string') { return '+1 000 000 0000'; // Default US placeholder } var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; const selectedPlaceholder = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedPlaceholder ? selectedPlaceholder.placeholder : mockPlaceholders[0].placeholder; } function updatePlaceholder(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } const phoneInput = document.querySelector('#mce-' + fieldName); if (!phoneInput) { return; } const placeholder = getDefaultPlaceholder(countryCode); if (placeholder) { phoneInput.placeholder = placeholder; } } function updateCountryCodeInstruction(countryCode, fieldName) { updatePlaceholder(countryCode, fieldName); } function getDefaultHelpText(countryCode) { var mockPlaceholders = [ { countryCode: 'US', placeholder: '+1 000 000 0000', helpText: 'Include the US country code +1 before the phone number', }, { countryCode: 'GB', placeholder: '+44 0000 000000', helpText: 'Include the GB country code +44 before the phone number', }, { countryCode: 'CA', placeholder: '+1 000 000 0000', helpText: 'Include the CA country code +1 before the phone number', }, { countryCode: 'AU', placeholder: '+61 000 000 000', helpText: 'Include the AU country code +61 before the phone number', }, { countryCode: 'DE', placeholder: '+49 000 0000000', helpText: 'Fügen Sie vor der Telefonnummer die DE-Ländervorwahl +49 ein', }, { countryCode: 'FR', placeholder: '+33 0 00 00 00 00', helpText: 'Incluez le code pays FR +33 avant le numéro de téléphone', }, { countryCode: 'ES', placeholder: '+34 000 000 000', helpText: 'Incluya el código de país ES +34 antes del número de teléfono', }, { countryCode: 'NL', placeholder: '+31 0 00000000', helpText: 'Voeg de NL-landcode +31 toe vóór het telefoonnummer', }, { countryCode: 'BE', placeholder: '+32 000 00 00 00', helpText: 'Incluez le code pays BE +32 avant le numéro de téléphone', }, { countryCode: 'CH', placeholder: '+41 00 000 00 00', helpText: 'Fügen Sie vor der Telefonnummer die CH-Ländervorwahl +41 ein', }, { countryCode: 'AT', placeholder: '+43 000 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die AT-Ländervorwahl +43 ein', }, { countryCode: 'IE', placeholder: '+353 00 000 0000', helpText: 'Include the IE country code +353 before the phone number', }, { countryCode: 'IT', placeholder: '+39 000 000 0000', helpText: 'Includere il prefisso internazionale IT +39 prima del numero di telefono', }, { countryCode: 'NO', placeholder: '+47 000 00 000', helpText: 'Inkluder NO landskode +47 før telefonnummeret', }, { countryCode: 'SE', placeholder: '+46 00 000 00 00', helpText: 'Inkludera SE landskod +46 före telefonnumret', }, { countryCode: 'DK', placeholder: '+45 00 00 00 00', helpText: 'Inkluder DK landekode +45 før telefonnummeret', }, { countryCode: 'FI', placeholder: '+358 00 000 0000', helpText: 'Sisällytä FI-maakoodi +358 ennen puhelinnumeroa', }, { countryCode: 'EE', placeholder: '+372 0000 0000', helpText: 'Lisage EE riigikood +372 telefoninumbri ette', }, { countryCode: 'PL', placeholder: '+48 000 000 000', helpText: 'Podaj numer kierunkowy PL +48 przed numerem telefonu', }, { countryCode: 'SK', placeholder: '+421 000 000 000', helpText: 'Pred telefónne číslo uveďte kód krajiny SK +421', }, { countryCode: 'LV', placeholder: '+371 0000 0000', helpText: 'Iekļaujiet LV valsts kodu +371 pirms tālruņa numura', }, { countryCode: 'LT', placeholder: '+370 0000 0000', helpText: 'Įtraukite LT šalies kodą +370 prieš telefono numerį', }, { countryCode: 'GR', placeholder: '+30 000 000 0000', helpText: 'Συμπεριλάβετε τον κωδικό χώρας GR +30 πριν από τον αριθμό τηλεφώνου', }, { countryCode: 'PT', placeholder: '+351 000 000 000', helpText: 'Inclua o código de país PT +351 antes do número de telefone', }, { countryCode: 'HR', placeholder: '+385 00 000 0000', helpText: 'Uključite HR pozivni broj države +385 prije telefonskog broja', }, { countryCode: 'SI', placeholder: '+386 00 000 000', helpText: 'Vključite SI kodo države +386 pred telefonsko številko', }, { countryCode: 'IS', placeholder: '+354 000 0000', helpText: 'Láttu IS landsnúmer +354 fylgja á undan símanúmerinu', }, { countryCode: 'LU', placeholder: '+352 000 000 000', helpText: 'Incluez le code pays LU +352 avant le numéro de téléphone', }, { countryCode: 'MC', placeholder: '+377 00 00 00 00', helpText: 'Incluez le code pays MC +377 avant le numéro de téléphone', }, { countryCode: 'AD', placeholder: '+376 000 000', helpText: 'Incloeu el codi de país AD +376 abans del número de telèfon', }, { countryCode: 'JE', placeholder: '+44 0000 000000', helpText: 'Include the JE country code +44 before the phone number', }, { countryCode: 'IM', placeholder: '+44 0000 000000', helpText: 'Include the IM country code +44 before the phone number', }, { countryCode: 'GG', placeholder: '+44 0000 000000', helpText: 'Include the GG country code +44 before the phone number', }, { countryCode: 'AL', placeholder: '+355 00 000 0000', helpText: 'Përfshini kodin e vendit AL +355 para numrit të telefonit', }, { countryCode: 'SM', placeholder: '+378 0000 000000', helpText: 'Includere il prefisso internazionale SM +378 prima del numero di telefono', }, { countryCode: 'FO', placeholder: '+298 000000', helpText: 'Inkluder FO landekode +298 før telefonnummeret', }, { countryCode: 'MT', placeholder: '+356 0000 0000', helpText: 'Include the MT country code +356 before the phone number', }, { countryCode: 'LI', placeholder: '+423 000 0000', helpText: 'Fügen Sie vor der Telefonnummer die LI-Ländervorwahl +423 ein', }, { countryCode: 'GI', placeholder: '+350 000 00000', helpText: 'Include the GI country code +350 before the phone number', }, { countryCode: 'MD', placeholder: '+373 00 000 000', helpText: 'Includeți codul de țară MD +373 înaintea numărului de telefon', }, { countryCode: 'HU', placeholder: '+36 00 000 0000', helpText: 'A telefonszám előtt adja meg a HU országkódot +36', }, { countryCode: 'NZ', placeholder: '+64 00 000 0000', helpText: 'Include the NZ country code +64 before the phone number', }, { countryCode: 'ME', placeholder: '+382 00 000 000', helpText: 'Uključite ME pozivni broj države +382 prije telefonskog broja', }, ]; if (!countryCode || typeof countryCode !== 'string') { return mockPlaceholders[0].helpText; } const selectedHelpText = mockPlaceholders.find(function(item) { return item && item.countryCode === countryCode; }); return selectedHelpText ? selectedHelpText.helpText : mockPlaceholders[0].helpText; } function setDefaultHelpText(countryCode) { const helpTextSpan = document.querySelector('#help-text'); if (!helpTextSpan) { return; } } function updateHelpTextCountryCode(countryCode, fieldName) { if (!countryCode || !fieldName) { return; } setDefaultHelpText(countryCode); } function initializeSmsPhoneDropdown(fieldName) { if (!fieldName || typeof fieldName !== 'string') { return; } const dropdown = document.querySelector('#country-select-' + fieldName); const displayFlag = document.querySelector('#flag-display-' + fieldName); if (!dropdown || !displayFlag) { return; } const smsPhoneData = window.MC?.smsPhoneData; if (smsPhoneData && smsPhoneData.programs && Array.isArray(smsPhoneData.programs)) { dropdown.innerHTML = generateDropdownOptions(smsPhoneData.programs); } const defaultProgram = getDefaultCountryProgram(smsPhoneData?.defaultCountryCode, smsPhoneData?.programs); if (defaultProgram && defaultProgram.countryCode) { dropdown.value = defaultProgram.countryCode; const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(defaultProgram.countryCode); flagSpan.setAttribute('aria-label', sanitizeHtml(defaultProgram.countryCode) + ' flag'); } updateSmsLegalText(defaultProgram.countryCode, fieldName); updatePlaceholder(defaultProgram.countryCode, fieldName); updateCountryCodeInstruction(defaultProgram.countryCode, fieldName); } var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"MMERGE2":{"name":"MMERGE2","label":"Second Name","helper_text":"","type":"text","required":false,"audience_field_name":"Second Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"MMERGE3":{"name":"MMERGE3","label":"Company Name","helper_text":"","type":"text","required":false,"audience_field_name":"Company Name","enabled":false,"order":null,"field_type":"merge","merge_id":3},"MMERGE4":{"name":"MMERGE4","label":"Job Title","helper_text":"","type":"text","required":false,"audience_field_name":"Job Title","enabled":false,"order":null,"field_type":"merge","merge_id":4},"SIGNUP":{"name":"SIGNUP","label":"Signup form location","helper_text":"","type":"text","required":false,"audience_field_name":"Signup form location","enabled":false,"order":null,"field_type":"merge","merge_id":5},"MMERGE6":{"name":"MMERGE6","label":"Image URL","helper_text":"","type":"imageurl","required":false,"audience_field_name":"Image URL","enabled":false,"order":null,"field_type":"merge","merge_id":6}}).find(function(f) { return f.name === fieldName && f.type === 'smsphone'; }); var isRequired = smsField ? smsField.required : false; var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; var phoneInput = document.querySelector('#mce-' + fieldName); if (phoneInput && defaultProgram.countryCallingCode && shouldAppendCountryCode) { phoneInput.value = defaultProgram.countryCallingCode; } displayFlag?.addEventListener('click', function(e) { dropdown.focus(); }); dropdown?.addEventListener('change', function() { const selectedCountry = this.value; if (!selectedCountry || typeof selectedCountry !== 'string') { return; } const flagSpan = displayFlag?.querySelector('#flag-emoji-' + fieldName); if (flagSpan) { flagSpan.textContent = getCountryUnicodeFlag(selectedCountry); flagSpan.setAttribute('aria-label', sanitizeHtml(selectedCountry) + ' flag'); } const selectedProgram = window.MC?.smsPhoneData?.programs.find(function(program) { return program && program.countryCode === selectedCountry; }); var smsNotRequiredRemoveCountryCodeEnabled = true; var smsField = Object.values({"EMAIL":{"name":"EMAIL","label":"Email Address","helper_text":"","type":"email","required":true,"audience_field_name":"Email Address","merge_id":0,"help_text_enabled":false,"enabled":true,"order":0,"field_type":"merge"},"FNAME":{"name":"FNAME","label":"First Name","helper_text":"","type":"text","required":false,"audience_field_name":"First Name","enabled":false,"order":null,"field_type":"merge","merge_id":1},"MMERGE2":{"name":"MMERGE2","label":"Second Name","helper_text":"","type":"text","required":false,"audience_field_name":"Second Name","enabled":false,"order":null,"field_type":"merge","merge_id":2},"MMERGE3":{"name":"MMERGE3","label":"Company Name","helper_text":"","type":"text","required":false,"audience_field_name":"Company Name","enabled":false,"order":null,"field_type":"merge","merge_id":3},"MMERGE4":{"name":"MMERGE4","label":"Job Title","helper_text":"","type":"text","required":false,"audience_field_name":"Job Title","enabled":false,"order":null,"field_type":"merge","merge_id":4},"SIGNUP":{"name":"SIGNUP","label":"Signup form location","helper_text":"","type":"text","required":false,"audience_field_name":"Signup form location","enabled":false,"order":null,"field_type":"merge","merge_id":5},"MMERGE6":{"name":"MMERGE6","label":"Image URL","helper_text":"","type":"imageurl","required":false,"audience_field_name":"Image URL","enabled":false,"order":null,"field_type":"merge","merge_id":6}}).find(function(f) { return f.name === fieldName && f.type === 'smsphone'; }); var isRequired = smsField ? smsField.required : false; var shouldAppendCountryCode = smsNotRequiredRemoveCountryCodeEnabled ? isRequired : true; var phoneInput = document.querySelector('#mce-' + fieldName); if (phoneInput && selectedProgram.countryCallingCode && shouldAppendCountryCode) { phoneInput.value = selectedProgram.countryCallingCode; } updateSmsLegalText(selectedCountry, fieldName); updatePlaceholder(selectedCountry, fieldName); updateCountryCodeInstruction(selectedCountry, fieldName); }); } document.addEventListener('DOMContentLoaded', function() { const smsPhoneFields = document.querySelectorAll('[id^="country-select-"]'); smsPhoneFields.forEach(function(dropdown) { const fieldName = dropdown?.id.replace('country-select-', ''); initializeSmsPhoneDropdown(fieldName); }); });

- Advertisment -

Most Popular