(function () { var COOKIE = 'rsm_attr'; // first-party, this domain only var DAYS = 90; // matches the usual Google Ads attribution window var MAX = 300; // per-value cap; cookies ride on every request, keep it small try { var qs = new URLSearchParams(location.search); var clip = function (v) { return v == null ? '' : String(v).slice(0, MAX); }; // A "campaign touch" = any paid/tagged arrival. Plain organic navigation must not overwrite. var CLICK = ['gclid', 'gbraid', 'wbraid', 'fbclid', 'msclkid', 'ttclid']; var UTM = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content']; // Google Ads ValueTrack, delivered via a Final URL suffix on standard Search campaigns. // `keyword` + `matchtype` are the useful pair: which search actually produced a booking. var VT = ['keyword', 'matchtype', 'device', 'network', 'campaignid', 'adgroupid', 'placement']; var touch = {}; CLICK.concat(UTM, VT).forEach(function (k) { if (qs.get(k)) touch[k] = clip(qs.get(k)); }); // ValueTrack alone doesn't mark a campaign touch — a stray ?device= shouldn't overwrite a real // ad click's first-touch record. Only a click id or a utm_* counts. var isCampaignTouch = CLICK.concat(UTM).some(function (k) { return !!touch[k]; }); // Referrer is only meaningful when it's off-site. var ref = ''; try { if (document.referrer && new URL(document.referrer).hostname !== location.hostname) { ref = clip(document.referrer); } } catch (e) {} var existing = null; try { var m = document.cookie.match(new RegExp('(?:^|; )' + COOKIE + '=([^;]*)')); if (m) existing = JSON.parse(decodeURIComponent(m[1])); } catch (e) { existing = null; } // Nothing new to record and we already have a record ? leave it alone. if (!isCampaignTouch && !ref && existing) return; var now = new Date().toISOString(); var landing = clip(location.pathname + location.search); var data = existing || {}; if (!data.ft) { // FIRST touch — write once, never overwrite data.ft = { t: now, ref: ref, landing: landing }; CLICK.concat(UTM, VT).forEach(function (k) { if (touch[k]) data.ft[k] = touch[k]; }); } if (isCampaignTouch || !data.lt) { // LAST touch — refresh on each new campaign hit data.lt = { t: now, ref: ref, landing: landing }; CLICK.concat(UTM, VT).forEach(function (k) { if (touch[k]) data.lt[k] = touch[k]; }); } var val = encodeURIComponent(JSON.stringify(data)); if (val.length > 3500) return; // never risk blowing the 4KB cookie limit document.cookie = COOKIE + '=' + val + ';path=/;max-age=' + (DAYS * 86400) + ';SameSite=Lax' + (location.protocol === 'https:' ? ';Secure' : ''); } catch (e) { /* attribution is never worth breaking a page for */ } })();

Manjeet

Hi, I’m Nikki, and I’m thrilled to start this journey with you! Whether you're just beginning or looking to build confidence behind the wheel, I’m here to help you gain the skills and self-assurance needed to become a safe, independent driver.

I believe that learning to drive should be a fun, positive, and supportive experience—one that leaves you feeling empowered every time you get in the car. My goal isn’t just to teach the technical skills of driving, but to help you develop road awareness, responsibility, and confidence that will stay with you for life.

With a patient, encouraging approach, I tailor every lesson to your unique needs, making sure each one is a step forward on your journey to success. Together, we’ll work towards your goals at your own pace, with a focus on making each lesson not just productive, but enjoyable too!


Back to Top