.lead_source { display: none; } window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-GDZ39L3LGJ'); (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "h93pc51uvy"); window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-GDZ39L3LGJ'); (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "h93pc51uvy");

Judd Haag

Chief Information Officer
Executive Leadership Team

About Judd Haag

Judd Haag is the Chief Information Officer (CIO) at Bone Dry. In his role, Judd leads efforts to strategically design a technology architecture and select state-of-the-art tools to support the company.

Additionally, Judd leads the charge to integrate tools for providing end-users with seamless access and support. By leveraging existing technology, Judd’s department will ensure quality control is top of mind throughout the company’s technological infrastructure. Judd’s operational expertise is an asset for Bone Dry, plays an important role in our business expansion plans.

Joining the Bone Dry Family in 2006, Judd delivered shingles to jobs while in college. After graduating from Indiana University-Purdue University Indianapolis (IUPUI) with a degree in Computer Information Systems, he’s continued his career at Bone Dry in many roles, including as IT Manager, General Manager, and most recently as Vice President of Operations.

Judd enjoys spending time with his wife, son and their ever-growing number of dogs. As an ex-collegiate soccer player, Judd also still enjoys playing in his free time.

Anthony Lane

Anthony Lane

October 13th, 2023

Customer service is the best, and quality is fantastic, totally changed the look of my house

Tyler Tope

Tyler Tope

October 2nd, 2023

Bone Dry was great! They had someone out right away to give me a quote and once we started the process we’re helpful with information for payments and financing. Ken was my guy and made sure we were 100% satisfied and taken care of. Definitely reco..

stan b

stan b

September 12th, 2023

Excellent service. 2nd time with. Will use again!

Andrea Baker

Andrea Baker

August 30th, 2023

I'll be honest, I chose Bone Dry because I have four nephews that work for this company spread throughout different divisions and I've heard great things. We had our new roof put on in the fall of 2020 and were very pleased. Fast forward to this summ..

Phillip Manning

Phillip Manning

August 7th, 2023

Once again Juan, Jim Cornell and Steve Blosser have made dealing with “Bone Dry” a pleasurable experience. Clear and competitive quote, good communication, very prompt service and excellent work. These have been the hallmarks of the complete re-r..

(function(cookieName, domain){ var traffic_source_COOKIE_TOKEN_SEPARATOR = ">>"; //separating between concatenated lead source var traffic_source_date_SEPARATOR = "|>"; var NONE = "(website)"; domain = domain || window.location.hostname; function getCookie(cookieName){ var name = cookieName + "="; var cookieArray = document.cookie.split(';'); //break cookie into array for(var i = 0; i < cookieArray.length; i++){ var cookie = cookieArray[i].replace(/^\s+|\s+$/g, ''); //replace all space with '' = delete it if (cookie.indexOf(name)==0){ return cookie.substring(name.length,cookie.length); // } } return null; } function getURLParameter(param){ var pageURL = window.location.search.substring(1); //get the query string parameters without the "?" var URLVariables = pageURL.split('&'); //break the parameters and values attached together to an array for (var i = 0; i -1) { if(end === -1) { end = utmzCookie.length; } cookieCampaignName = "utmz:" + utmzCookie.substring((start + UTMSRC.length), end); //get the value of the UTMZ, without the parameter name } } if(cookieCampaignName != "" && isNotNullOrEmpty(urlParamSRC)){ //if there is a campaign name AND there is SRC value traffic_source = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; //concateane the SRC with the existing campaign name // traffic_source = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + cookieCampaignName; // Optional: add the session time } else if(cookieCampaignName != ""){ //if there is campaign name traffic_source = cookieCampaignName; //just use it for the new cookie } else if(urlParamSRC != null) { //if there is not campaign name but we have SRC traffic_source = decodeURI(urlParamSRC); // decode URI of the SRC parameter // traffic_source = decodeURI(urlParamSRC) + currTime(); // Optional: add the session time } else if(document.referrer != ""){ //if there is not campaign, and no src, check if there is a referrer, var referrerHostName = removeProtocol(document.referrer); var GOOGLE = /www.google/; var YAHOO = /search.yahoo/; var BING = /www.bing/; if(GOOGLE.test(referrerHostName)){ traffic_source = "Google Search"; //traffic_source = "Google Search" + currTime(); // + Optional: Add the current session time. Choose one of them. } else if(YAHOO.test(referrerHostName)){ traffic_source = "Yahoo Search"; //traffic_source = "Yahoo Search" + currTime(); } else if(BING.test(referrerHostName)){ traffic_source = "Bing Search"; //traffic_source = "Bing Search" + currTime(); } else { traffic_source = referrerHostName; //traffic_source = referrerHostName + currTime(); } } else { traffic_source = NONE; } setCookie(cookieName, traffic_source); //set the cookie } else if(isNotNullOrEmpty(urlParamSRC)){ //if there is a cookie, add the SRC to the cookie, unless the same src already exists as the first token. var firstToken = getFirstTokenFromCookie(getCookie(cookieName)); if(firstToken !== "" && urlParamSRC !== firstToken) { var newTrafficSourceCookie = urlParamSRC + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); //concetenate new SRC with old cookie values // var newTrafficSourceCookie = urlParamSRC + currTime() + traffic_source_COOKIE_TOKEN_SEPARATOR + getCookie(cookieName); // Optional: add the time of current session setCookie(cookieName, newTrafficSourceCookie); } } })("traffic_source", ".bonedry.com"); function getCookie(name) { //Gets the value of traffic_source var value = "; " + document.cookie; var parts = value.split("; " + name + "="); if (parts.length == 2) return parts.pop().split(";").shift(); } function addTrafficSourceToForm(){ //injects the traffic_source value to the form jQuery(".lead_source input").each(function() { this.value = getCookie("traffic_source"); console.log("Executing"); }); } addTrafficSourceToForm() //initates the process