{"version":3,"file":"siteMetadata.DbYZGSxg.mjs","names":[],"sources":["https:/framerusercontent.com/modules/xYHgYtP38CapRsPgJGkU/UdISjqAkomZrDUE9vNQZ/siteMetadata.js"],"sourcesContent":["// Generated by Framer (dc3a148)\nconst valuesByLocaleId={Y7MLKV7x1:{v0:\"No Middleman Tours - Buchen Sie die besten Safari-Touren in Tansania und Kenia\",v1:\"Planen Sie Ihre Safari in Tansania und Kenia, Ihre Kilimandscharo-Wanderung und Ihren Urlaub auf Sansibar mit unserem kostenlosen Angebotsservice! Verbinden Sie sich direkt mit vertrauensw\\xfcrdigen lokalen Reiseveranstaltern f\\xfcr eine individuelle Reiseplanung, Kosteneinsparungen und fachkundige Beratung. Keine Zwischenh\\xe4ndler oder versteckten Geb\\xfchren.\"}};function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values[key];if(value)return value;}locale=locale.fallback;}}export default function metadata(params,activeLocale){return{customHTMLBodyEnd:\"<script>\\n    function waitForGtag(callback) {\\n        if (typeof gtag === \\\"function\\\") {\\n            callback();\\n        } else {\\n            setTimeout(() => waitForGtag(callback), 500);\\n        }\\n    }\\n\\n    // 🔹 Engagement Tracking (Time Spent)\\n    let timeSpent = 0;\\n    const maxTrackingTime = 500;\\n    const trackingIntervals = [30, 60, 120, 180, 240, 300, 500]; // Seconds to track\\n    const eventValues = { 30: 0.3, 60: 0.6, 120: 0.9, 180: 1, 240: 1.1, 300: 1.2, 500: 1.5 };\\n    let trackedTimes = {}; // To ensure each event fires only once\\n\\n    function trackTimeSpent() {\\n        const interval = setInterval(() => {\\n            timeSpent += 10;\\n            if (timeSpent > maxTrackingTime) { \\n                clearInterval(interval);\\n                console.log(\\\"🚀 Stopped time tracking.\\\");\\n                return;\\n            }\\n\\n            if (trackingIntervals.includes(timeSpent) && !trackedTimes[timeSpent]) {\\n                trackedTimes[timeSpent] = true; // Mark time as tracked\\n\\n                gtag('event', 'time_spent', {\\n                    'event_category': 'User Engagement',\\n                    'event_label': `${timeSpent}_seconds`\\n                });\\n\\n                console.log(`✅ GA4 Event Sent: ${timeSpent} seconds spent`);\\n            }\\n        }, 10000); // Fires every 10 seconds but only records at the key intervals\\n    }\\n\\n    // 🔹 Scroll Tracking\\n    function trackScrollEvent(scrollDepth) {\\n        gtag('event', `scroll_${scrollDepth}`, {\\n            'event_category': 'User Engagement',\\n            'event_label': `${scrollDepth}%`\\n        });\\n        console.log(`✅ GA4 Event Sent: Scroll ${scrollDepth}%`);\\n    }\\n\\n    window.addEventListener('scroll', function() {\\n        let scrollTop = window.scrollY;\\n        let docHeight = document.documentElement.scrollHeight;\\n        let winHeight = window.innerHeight;\\n        let scrollPercent = (scrollTop / (docHeight - winHeight)) * 100;\\n\\n        if (scrollPercent > 50 && !window.scroll50Fired) {\\n            trackScrollEvent(50);\\n            window.scroll50Fired = true;\\n        }\\n        if (scrollPercent > 75 && !window.scroll75Fired) {\\n            trackScrollEvent(75);\\n            window.scroll75Fired = true;\\n        }\\n        if (scrollPercent > 97 && !window.scroll100Fired) {\\n            trackScrollEvent(100);\\n            window.scroll100Fired = true;\\n        }\\n    });\\n\\n    // 🔹 Initialize Tracking\\n    waitForGtag(() => {\\n        trackTimeSpent();\\n    });\\n</script>\",customHTMLHeadStart:'<script>\\n  // ✅ 1. Set up GTAG + Consent Mode early (runs before GA script loads)\\n  window.dataLayer = window.dataLayer || [];\\n  function gtag() {\\n    (window._gtagQueue = window._gtagQueue || []).push(arguments);\\n  }\\n\\n  gtag(\"consent\", \"default\", {\\n    ad_storage: \"denied\",\\n    ad_user_data: \"denied\",\\n    ad_personalization: \"denied\",\\n    analytics_storage: \"denied\",\\n    functionality_storage: \"denied\",\\n    personalization_storage: \"denied\",\\n    security_storage: \"granted\",\\n    wait_for_update: 2000,\\n  });\\n\\n  gtag(\"set\", \"ads_data_redaction\", true);\\n  gtag(\"set\", \"url_passthrough\", true);\\n\\n  // ✅ 2. Load GA+Ads only after interaction or timeout\\n  function loadGTM() {\\n    if (window.__gtmLoaded) return;\\n    window.__gtmLoaded = true;\\n\\n    const script = document.createElement(\"script\");\\n    script.src = \"https://www.googletagmanager.com/gtag/js?id=G-JSRKNBLT6T\";\\n    script.async = true;\\n    document.head.appendChild(script);\\n\\n    window.dataLayer = window.dataLayer || [];\\n    window.gtag = function () {\\n      dataLayer.push(arguments);\\n    };\\n\\n    gtag(\"js\", new Date());\\n\\n    // ✅ Google Analytics 4 (Measurement ID)\\n    gtag(\"config\", \"G-JSRKNBLT6T\");\\n\\n    // ✅ Google Ads Conversion (if applicable)\\n    gtag(\"config\", \"AW-11546909576\");\\n\\n    // Replay queued events (optional)\\n    if (window._gtagQueue) {\\n      window._gtagQueue.forEach(args => gtag(...args));\\n    }\\n  }\\n\\n  // ✅ 3. Trigger loading on first scroll/click or after 4.5s\\n  [\"scroll\", \"click\"].forEach(event =>\\n    window.addEventListener(event, loadGTM, { once: true })\\n  );\\n  setTimeout(loadGTM, 4500);\\n</script>\\n\\n<!-- ✅ CookieYes Consent Banner (unchanged) -->\\n<script id=\"cookieyes\" type=\"text/javascript\" src=\"https://cdn-cookieyes.com/client_data/5e873dea62a9e4f5e3995d4d/script.js\"></script>\\n\\n<script type=\"application/ld+json\">\\n{\\n  \"@context\": \"https://schema.org\",\\n  \"@type\": [\"Organization\", \"TravelAgency\"],\\n  \"@id\": \"https://nomiddlemantours.com/#org\",\\n  \"name\": \"NoMiddleman Tours\",\\n  \"url\": \"https://nomiddlemantours.com/\",\\n  \"logo\": \"https://framerusercontent.com/images/WHa4RzGN4Ccm3Zycxw1fjm5GU8.png\",\\n\\n  \"contactPoint\": {\\n    \"@type\": \"ContactPoint\",\\n    \"email\": \"info@nomiddlemantours.com\",\\n    \"contactType\": \"customer service\",\\n    \"availableLanguage\": [\"English\", \"French\", \"German\", \"Spanish\"]\\n  },\\n\\n  \"priceRange\": \"$$–$$$$$\",\\n  \"slogan\": \"NoMiddleman Tours matches you with the right local tour operators that have genuine expertise for the kind of holiday you actually want.\",\\n  \"description\": \"Africa safaris booked directly with vetted local operators. Best guides. Best Local Prices. No Middlemen.\",\\n\\n  \"knowsAbout\": [\\n    \"Tanzania safaris\",\\n    \"Kenya safaris\",\\n    \"Wildebeest Migration Safaris\",\\n    \"Serengeti National Park\",\\n    \"Ngorongoro Crater\",\\n    \"Tarangire National Park\",\\n    \"Ruaha National Park\",\\n    \"Zanzibar holidays\",\\n    \"Kilimanjaro treks\",\\n    \"Masai Mara safaris\",\\n    \"Beach and safari packages\",\\n    \"Luxury safari lodges\",\\n    \"Budget safaris\"\\n  ],\\n  \"areaServed\": [\"TZ\", \"KE\"]\\n}\\n</script>',description:getLocalizedValue(\"v1\",activeLocale)??\"Plan your Tanzania and Kenya safari, Kilimanjaro trek and Zanzibar holiday with our free quote service! Connect directly with trusted local tour operators for personalized travel planning, cost savings, and expert guidance. No middlemen or hidden fees.\",favicon:\"https://framerusercontent.com/assets/8J00oSM3uvrU1ClkUcNug70mqA.png\",robots:\"max-image-preview:large\",title:getLocalizedValue(\"v0\",activeLocale)??\"No Middleman Tours - Book Best Tanzania and Kenya Safari Tours\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"2DAC2e,SAAS,EAAkB,EAAI,EAAO,CAAC,KAAM,GAAO,CAAC,IAAM,EAAO,EAAiB,EAAO,IAAI,GAAG,EAAO,CAAC,IAAM,EAAM,EAAO,GAAK,GAAG,EAAM,OAAO,CAAO,GAAO,EAAO,QAAU,CAAC,UAAwB,EAAS,EAAO,EAAa,CAAC,MAAM,CAAC,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAw/E,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAyjG,YAAY,EAAkB,KAAK,IAAe,+PAA+P,QAAQ,sEAAsE,OAAO,0BAA0B,MAAM,EAAkB,KAAK,IAAe,iEAAiE,AAAE,iBAAzzN,EAAiB,CAAC,UAAU,CAAC,GAAG,iFAAiF,GAAG,mWAA+W,CAAC"}