Excel4apps has long been recognized and loved by its customers for delivering a product that dramatically simplifies the workflow of finance professionals by putting real-time data in the program that they want to work in—Excel. However, their web presence was dated and had a complicated navigation structure that didn’t effectively communicate the virtues of their product.
Our thorough content outline illuminated structural deficiencies throughout the site and allowed us to build a clearer path. By creating a clear division between navigation items that are platform-specific and those that are more general, we made the site intuitive to empower users to self-educate, while making it easy for those who are familiar with Excel4apps to get right to what they need.
A robust yet simple resource management system and integrated blog allow Excel4apps to easily manage their content in one place, and complex integrations with Pardot and Salesforce were seamlessly introduced throughout the site in dynamic content fields.
New project? Question? Compliment? Let’s chat. New project? Question? Compliment? Let’s chat.
{"head":"<!-- Google Tag Manager -->\r\n<script>\r\n (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n 'https:\/\/www.googletagmanager.com\/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n })(window,document,'script','dataLayer','GTM-WMDNFKPG');\r\n<\/script>\r\n<!-- End Google Tag Manager -->","body":"<!-- Google Tag Manager (noscript) -->\r\n<noscript><iframe src=\u201chttps:\/\/www.googletagmanager.com\/ns.html?id=GTM-WMDNFKPG\u201d\r\nheight=\u201c0\" width=\u201c0\u201d style=\u201cdisplay:none;visibility:hidden\u201d><\/iframe><\/noscript>\r\n<!-- End Google Tag Manager (noscript) -->","footer":"<script>\r\n(function(){\r\n\r\n var JOURNEY_KEY = 'th_lead_journey_v1';\r\n var MAX_PAGES = 20;\r\n\r\n function uuid(){\r\n if (crypto.randomUUID) {\r\n return crypto.randomUUID();\r\n }\r\n\r\n return 'th_' + Date.now() + '_' + Math.random().toString(36).substr(2);\r\n }\r\n\r\n function getJourney(){\r\n try{\r\n return JSON.parse(localStorage.getItem(JOURNEY_KEY));\r\n }catch(e){\r\n return null;\r\n }\r\n }\r\n\r\n function saveJourney(journey){\r\n localStorage.setItem(JOURNEY_KEY, JSON.stringify(journey));\r\n }\r\n\r\n function getUTMs(){\r\n var params = new URLSearchParams(location.search);\r\n var utm = {};\r\n\r\n [\r\n 'utm_source',\r\n 'utm_medium',\r\n 'utm_campaign',\r\n 'utm_term',\r\n 'utm_content',\r\n 'gclid',\r\n 'gbraid',\r\n 'wbraid',\r\n 'fbclid'\r\n ].forEach(function(key){\r\n if(params.has(key)){\r\n utm[key] = params.get(key);\r\n }\r\n });\r\n\r\n return utm;\r\n }\r\n\r\n var journey = getJourney();\r\n\r\n if(!journey){\r\n\r\n journey = {\r\n session_id: uuid(),\r\n started: new Date().toISOString(),\r\n landing_page: location.href,\r\n landing_path: location.pathname,\r\n referrer: document.referrer,\r\n utm: getUTMs(),\r\n pages: []\r\n };\r\n\r\n }\r\n\r\n var last = journey.pages[journey.pages.length - 1];\r\n\r\n if(!last || last.url !== location.href){\r\n\r\n journey.pages.push({\r\n url: location.href,\r\n path: location.pathname,\r\n title: document.title,\r\n timestamp: new Date().toISOString()\r\n });\r\n\r\n if(journey.pages.length > MAX_PAGES){\r\n journey.pages.shift();\r\n }\r\n\r\n }\r\n\r\n saveJourney(journey);\r\n\r\n function populate(){\r\n\r\n document.querySelectorAll('form').forEach(function(form){\r\n\r\n set(form,'lead_session_id',journey.session_id);\r\n set(form,'lead_landing_page',journey.landing_page);\r\n set(form,'lead_journey_json',JSON.stringify(journey));\r\n set(form,'lead_journey',buildSummary());\r\n\r\n });\r\n\r\n }\r\n\r\n function set(form,name,value){\r\n\r\n var field = form.querySelector('[name=\"'+name+'\"]');\r\n\r\n if(!field){\r\n field = document.createElement('input');\r\n field.type = 'hidden';\r\n field.name = name;\r\n form.appendChild(field);\r\n }\r\n\r\n field.value = value;\r\n }\r\n\r\n function buildSummary(){\r\n\r\n var out = [];\r\n\r\n out.push('Landing: ' + journey.landing_page);\r\n out.push('');\r\n\r\n journey.pages.forEach(function(page,i){\r\n out.push((i+1) + '. ' + page.path);\r\n });\r\n\r\n return out.join(\"n\");\r\n\r\n }\r\n\r\n populate();\r\n\r\n document.addEventListener('wpcf7beforesubmit', populate);\r\n\r\n})();\r\n<\/script>"}
We use cookies
We use necessary cookies to make this site work. With your consent, we also use analytics and advertising technologies to improve the site and measure marketing.