Skip to main content
Overhead view of forest and roac
  • Capability

ESG Management

Manage your environmental, social and governance (ESG) performance with award-winning advisory, software and assurance solutions.

Contact us

ESG management is critical to business performance.

The part that environmental, social and governance (ESG) plays in today’s global economy cannot be overstated — as stakeholder expectations and regulatory demands rise, companies face increasing demands to fundamentally conduct business more responsibly. To help reduce environmental impacts, enhance social outcomes and foster better governance structures, businesses should first integrate ESG strategies into their operations.

Whether your company has emerging, maturing or leading ESG management capabilities, navigating solo through the world of ESG strategies, including establishing goals, managing voluntary disclosure targets and meeting compliance requirements, can be daunting. When it’s time to establish an ESG program, measure production and performance, drive improvements, report progress or verify key performance indicators (KPIs), UL Solutions ESG Management services can provide the end-to-end guidance, services and tools needed to help you succeed.

 

Three core aligned solutions and services

 

advisory icon

Advisory

Domain experts for carbon and ESG measurement

Explore

icon depicting software

Software

Leading ESG data management software

Explore

icon depicting a shield

Assurance

Trusted partner for independent verification

Explore

 

Future-Proof Your ESG Software: 10 Must-Haves to Stay Ahead

UL Solutions ESG software experts outline the top 10 must-haves for an ESG platform to meet the increased pressure from internal and external stakeholders and an increasingly complex regulatory landscape. Our comprehensive e-book will help you navigate the key features and functionalities that your ESG platform should possess.

Read more

Ready to take a practical approach to ESG?

The ESG landscape is challenging. With ever-evolving requirements from regulators, customers, and investors.

Watch this video to learn more about our portfolio of advisory, software and assurance services.

 

Accelerate your ESG management and performance

Companies looking to accelerate their ESG performance may benefit from the program’s comprehensive suite of in-house advisory, software and verification services and guidance from seasoned domain experts.

ESG Phases
           
 
1 in a circle

Mobilize

Establish and optimize your ESG programs

 

1 in a circle

Measure

Implement robust systems for measuring ESG performance

 

3 in a circle

Manage

Drive continuous improvements on your ESG key performance indicators (KPIs) and goals

 

4 in a circle

Report

Streamline and enhance your ESG disclosure and reporting

 

5 in a circle

Assurance

Independent verification of key ESG KPIs

 

Advisory

red dot
red dot
red dot
red dot

 

Software

 

blue dot
blue dot
blue dot

 

Assurance

 

 

 

 
medium blue dot

 

We provide support no matter where
you are on your ESG or sustainability journey

 

greenhouse gas icon

Scope 3

Scope 3 Emissions

Learn more

alttext

SFDR

Sustainable Finance Disclosure Regulation

Learn more

alttext

ISSB (SASB)

International Sustainability Standards Board

Learn more

alttext

Net Zero

Net Zero Coalition

Learn more

alttext

CSRD

Corporate Sustainability Reporting Directive

Learn more

alttext

SEC

Securities and Exchange Commission

Learn more

alttext

TCFD

Task Force on Climate-Related Financial Disclosures

Learn more

alttext

CDP

Carbon Disclosure Report

Learn more

 

A trusted partner

Companies around the globe choose UL Solutions as a trusted partner with science-backed data and domain experts. We work closely with our customers to understand reporting and assurance challenges, automate data collection and measurement, and specify solutions to drive carbon performance.

Start accelerating your ESG management today
Nestle logo
Ciel textile logo
Danske bank logo
DS Smith logo
Otto Group logo
Castik Capital logo
GPA Global logo
BWI logo
FMC Corporation logo

 

emerging to leading diagram

From emerging to leading

When it comes to ESG and sustainability, our customers range from emerging to leading and utilize advisory, software and verification services for better transparency, data management and ESG performance.

 

 

A recognized leader, and software partner to the world’s largest ESG Standards and Frameworks

European Commission logo
CDP Gold Accredited Provider 2024 logo
ISSB logo
GRI logo
SASB Standards
Science Based Targets logo
Sustainable Development Goals logo

 

Advisory, software and assurance capabilities to meet the needs of your ESG and sustainability journey

ESG advisory services

ESG advisory services can enhance your ESG program from initial mobilization through to reporting and disclosure. 

  • ESG materiality assessment  
  • Methodology and disclosure 
  • Scope 3 and carbon 
  • Science -based target readiness assessment and target development
  • CDP disclosure review
Explore the full range

ESG and sustainability reporting software 

Collect, measure and report consistent and accurate data wherever you are in your ESG and sustainability journey. 

  • Streamlined CDP data transfer    
  • Energy Star ®, Urjanet and GRESB   integration
  • Advanced carbon data management, including advanced Scope 3 
  • Aligned to major frameworks, such as CDP, SASB, GRI, SEC, TCFD, CSRD, SFDR and DJSI 

Learn more

ESG verification

Support for new regulatory, customer and investor demand for independent assurance of ESG data.

  • Review ESG reporting conformance to selected criteria
  • Issue a verification report to ISO 14064-3
  • Identify areas for improvement in the ESG reporting approach

Verification projects are delivered independently of advisory services.

Learn more about GHG Verification

 

Industry recognitions

Verdantix: Green Quadrant ESG Reporting and Data Management Software Leader 2023
Verdantix Green Quadrant Enterprise Carbon Management Leader 2023
Verdantix Green Quadrant EHS Software Leader 2023
Environment + Energy Leader awards Top Product 2023
Verdantix Green Quadrant Enterprise Carbon Management Leader 2022
Environment + Energy Leader awards Top Product 2021

 

“By empowering our team with the tools, resources and expertise to elevate our ESG initiatives, we aim to internalize the benefits of sustainable practices as a routine part of our business model.

“UL Solutions helped take our sustainability efforts to the next level through the strategic implementation of our carbon footprint measurement and other ESG initiatives.”

Nick Hurd, chief marketing officer and chief
sustainability officer GPA Global

 

ESG Data Management Software

Award-winning UL 360 ESG Data Management Software helps you collect, manage and report disclosure data and show business and value chain ESG performance.

Now part of ULTRUS™ software from UL Solutions, our ESG data management software gives you the connected clarity you need to succeed in systemizing and demonstrating sustainability and ESG performance across your business and value chain.

Learn more
Download our brochure

Learn how to harness the power of sustainability using the 5 pillars to ESG success.

ESG

ESG Management Services Brochure

14.89 MB

Get connected with our sales team

Thanks for your interest in our products and services. Let's collect some information so we can connect you with the right person.

X

Get connected with our sales team

Thanks for your interest in our products and services. Let's collect some information so we can connect you with the right person.

Please wait…
'; let submitButton = $('form.mktoForm .mktoButtonWrap .mktoButton'); submitButton.prop("disabled", true); submitButton.append(loadingHTML); // Ocp-Apim-Subscription-Key: '***'. var $ocpKey = drupalSettings.ul_marketo_validate_key; var $ocpUrl = drupalSettings.ul_marketo_validate_url; var $ocpEnv = drupalSettings.ul_marketo_validate_env; if (submitCount > 1 || isResponseSuccess == true) { isResponseHandled = true; form.submittable(true); if (paramsDebug.debug == 1) { console.log("NO.10 submitCount > 1: form.submit() "); } submitButton.click(); } else { var email = form.vals().Email; var phone = (form.vals().Phone) ? (form.vals().Phone) : '18472728800'; var country = (form.vals().Country) ? (form.vals().Country) : 'United States'; var countryCode = (phone == '18472728800') ? 'US' : getCountryCode(country); var $emailMsg = drupalSettings.ul_marketo_validate.email; var $phoneMsg = drupalSettings.ul_marketo_validate.phone; if (paramsDebug.debug == 1) { console.log("paramsDebug:"); console.log(paramsDebug); } sendingData = JSON.stringify({ 'Input_Email': email, 'Input_Phone': phone, 'Input_ISO2_Country_Code': countryCode }); if (paramsDebug.debug == 1) { console.log('URL, debug missing button:'); console.log($ocpUrl); console.log("Sending Data to API service (ajax):"); console.log(sendingData); } // API call for validate email/phone/country. var sendDate = (new Date()).getTime(); var responseTimeMs = sendDate; // Start a timer to handle a 3-second response timeout setTimeout(function() { if (!isResponseHandled) { isResponseHandled = true; // Handle the assumed "success" due to timeout here if (paramsDebug.debug == 1) { console.log('No response within timeout, proceeding with default validation success.'); } $('#ValidMsgEmail').remove(); $('#ValidMsgPhone').remove(); // set form to be submittable here $('#valSpinner').remove(); submitButton.prop("disabled", false); // Setup status as Timeout instead of Unknown. emailAddressStatus = "Timeout"; phoneNumberStatus = "Timeout"; phoneNumberValidated = "Timeout"; form.vals({ "emailAddressStatus": emailAddressStatus, "phoneNumberStatus": phoneNumberStatus, "phoneNumberValidated": phoneNumberValidated, }); form.submittable(true); isResponseSuccess = true; if (paramsDebug.debug == 1) { let receiveDate = (new Date()).getTime(); responseTimeMs = (receiveDate - sendDate) / 1000; console.log("setTimeout: " + responseTimeMs + " seconds."); } submitButton.click(); } }, paramsDebug.timeout * 1000); //END setTimeout $.ajax({ url: $ocpUrl, type: 'POST', data: sendingData, headers: { 'Content-Type': 'application/json', 'Ocp-Apim-Subscription-Key': $ocpKey, }, success: function (response) { $('#valSpinner').remove(); submitButton.prop("disabled", false); phoneNumberValidated = response.Validated_Phone_Number; if (!isResponseHandled) { isResponseHandled = true; // **** Handle the validation response if (paramsDebug.debug == 1) { console.log("API Response Data: "); console.log(response); } var emailCode = response.Email_Validation_Status_Number; var phoneCode = response.Phone_Validation_Status_Number; // Add values into two status fields. if (emailValidCode.hasOwnProperty(emailCode)) { emailAddressStatus = emailValidCode[emailCode]; } else { // API error code doesn't exist, set defaul. emailAddressStatus = emailValidCode['300']; } if (phoneValidCode.hasOwnProperty(phoneCode)) { phoneNumberStatus = phoneValidCode[phoneCode]; } else { // API error code doesn't exist, set defaul. phoneNumberStatus = phoneValidCode['301']; } if (emailAddressStatus.indexOf("email_not") != -1) { emailAddressStatus = 'Invalid'; } else if(emailAddressStatus == 'valid') { emailAddressStatus = 'Valid'; } if (phoneNumberStatus.indexOf('invalid_') != -1) { phoneNumberStatus = 'Invalid'; } else if(phoneNumberStatus == 'valid') { phoneNumberStatus = 'Valid'; } if (paramsDebug.debug == 1) { console.log('form.emailAddressStatus ' + emailAddressStatus); console.log('form.phoneNumberStatus ' + phoneNumberStatus); console.log('form.phoneNumberValidated ' + phoneNumberValidated); } if (validEmailCode.includes(emailCode) && validPhoneCode.includes(phoneCode)) { // Remove the loading spinner. $('#ValidMsgEmail').remove(); $('#ValidMsgPhone').remove(); $('#valSpinner').remove(); submitButton.prop("disabled", false); if (paramsDebug.debug == 1) { console.log("NO.1.1 VALID OK submitCount = " + submitCount); } isResponseSuccess = true; form.vals({ "emailAddressStatus": emailAddressStatus, "phoneNumberStatus": phoneNumberStatus, "phoneNumberValidated": phoneNumberValidated, }); form.submittable(true); submitButton.click(); } // API valid code is not "valid". else { form.submittable(false); if (paramsDebug.debug == 1) { console.log("NO.1.2 Submittable false : count= " + submitCount + " validateOrigin " + validateOrigin + " isResponseSuccess " + isResponseSuccess ); } // Set the invalid message in language translation. var msgEmailStatus = ""; if (!validEmailCode.includes(emailCode)) { if (emailCode == '300' || emailCode == '400') { msgEmailStatus = $emailMsg.email_not_valid; } else if (emailCode == '310' || emailCode == '500' ) { msgEmailStatus = $emailMsg.email_not_accept; } else { msgEmailStatus = "Unknown"; } if (paramsDebug.debug == 1) { console.log("NOT validEmailCode: " + msgEmailStatus); } errEmail = ''; $('#Email').after(errEmail); form.submittable(false); } // Set the invalid message in language translation. var msgPhoneStatus = "" if (!validPhoneCode.includes(phoneCode)) { msgPhoneStatus = $phoneMsg[phoneValidCode[phoneCode]]; if (paramsDebug.debug == 1) { console.log("NOT validPhoneCode: " + msgPhoneStatus); } errPhone = ''; $('#Phone').after(errPhone); form.submittable(false); } if (paramsDebug.debug == 1) { console.log(msgEmailStatus); console.log(msgPhoneStatus); } // Remove the loading spinner. $('#valSpinner').remove(); submitButton.prop("disabled", false); if (paramsDebug.debug == 1) { console.log("NO.1.6 Submittable false, count= " + submitCount); } form.vals({ "emailAddressStatus": emailAddressStatus, "phoneNumberStatus": phoneNumberStatus, "phoneNumberValidated": phoneNumberValidated, }); // 2nd API call and subit form. if (submitCount >= 1) { $('#ValidMsgEmail').remove(); $('#ValidMsgPhone').remove(); isResponseSuccess = true; form.submittable(true); if (paramsDebug.debug == 1) { console.log("NO.1.8 : 2nd Submit:: submittable=true && count=1 : " + submitCount); } if (submitCount==1) { submitButton.click(); } } } //END if{} else{}. }//END if (!isResponseHandled) // Calculate the time comsumed for the API call. if (paramsDebug.debug == 1) { let receiveDate = (new Date()).getTime(); responseTimeMs = (receiveDate - sendDate) / 1000; console.log("NO.1.9 : AJAX success: Time for API call: " + responseTimeMs + " seconds."); } submitCount++; }, //END success: function(); // API call error response. error: function (error) { $('#valSpinner').remove(); submitButton.prop("disabled", false); if (!isResponseHandled) { isResponseHandled = true; $('#valSpinner').remove(); submitButton.prop("disabled", false); // 2nd API call and subit form. if ( submitCount >= 1 ) { $('#ValidMsgEmail').remove(); $('#ValidMsgPhone').remove(); form.submittable(true); isResponseSuccess = true; if ( submitCount == 1 ) { form.submittable(true); } } // Handle AJAX error if (paramsDebug.debug == 1) { console.log('**** 2 ajax error. submitCount = ' + submitCount); console.log(error); } // Calculate the time comsumed for the API call. if (paramsDebug.debug == 1) { let receiveDate = (new Date()).getTime(); responseTimeMs = (receiveDate - sendDate) / 1000; console.log("NO.2.3 AJAX error: Time for API call: " + responseTimeMs + " seconds."); } } submitCount++; // Error status 500, then submit the form. submitButton.click(); } //END error: function(); }); //END $.ajax; if (isResponseSuccess) { if (paramsDebug.debug == 1) { console.log("NO.8.0 submittable(true)"); } form.submittable(true); } } //END: if (submitCount > 1) else // Setup the form.vals and form.submittable; form.vals({ "emailAddressStatus": emailAddressStatus, "phoneNumberStatus": phoneNumberStatus, "phoneNumberValidated": phoneNumberValidated, }); } //END: if (validateOrigin && (marketoBundle)) else { // For Event form and Newsletter form. if (validateOrigin === true){ form.submittable(true); } } }); //END form.onValidate() // Success callback() form.onSuccess(function(values, followUpUrl){ // Debug Phone/Email validation. if (paramsDebug.debug == 1) { console.log("NO.9.1 onSuccess: submittable = " + form.submittable()); console.log(form.getValues()); } // Track analytics. if (typeof dataLayer !== 'undefined'){ dataLayer.push({ event: drplMkto.dataLayerEvent, mktoFormId: form.getId(), 'FormValues': cleanFormVals(form.getValues()), 'FormFields': form.allFieldsFilled(), 'Submittable': form.submittable() }); } // If function exists, delete UTM cookie: if(typeof _deleteUtmCookie === "function"){ _deleteUtmCookie(); } // Marketo Modal "Thank You" message: if(use_post_submit_mssg){ $('html, body').animate({ scrollTop: 0 }, 'slow'); $('.mkto-presubmit').addClass('hidden'); $('.mktoModalContent').addClass('mkto_thnx_center'); $('.mktoModalMask').addClass('not_clicable'); $('.mkto-postsubmit').removeClass('hidden'); $('.mktoButton').removeAttr('disabled').text(drupalSettings.marketo.button_text); $('.mktoForm')[0].reset(); grecaptcha.reset(); } // Else, redirect user: else { window.location.href = drplMkto.success_url; } // IMPORTANT: Return false to prevent further code execution. return false; }); //END form.onSuccess. }); })(jQuery, drupalSettings.marketo);