1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8783],{33463:(e,t,r)=>{r.d(t,{$h:()=>n,TD:()=>a,e6:()=>s});let a=[{kind:"dropdown",label:"Solutions",items:[{label:"MMP",description:"Attribution, deep links, cohorts, revenue, and retention in one dashboard.",href:"/",icon:"bar-chart-3"},{label:"Deep Links",description:"Deferred deep links that survive install. Branded domains, custom routing rules.",href:"/deeplinks",icon:"link"},{label:"Google & Meta Ads",description:"Track Google Ads and Meta campaigns end-to-end with ROAS, CAC, and audience sync.",href:"/google-meta-ads",icon:"trending-up"},{label:"ChatGPT Ads",description:"Measure ChatGPT Ads installs, purchases, and revenue by campaign.",href:"/chatgpt-ads",icon:"sparkle"},{label:"iOS & SKAN",description:"Privacy-first measurement for iOS campaigns under SKAdNetwork.",href:"/skan",icon:"shield"}]},{kind:"dropdown",label:"Resources",items:[{label:"About",description:"The team building Linkrunner and why we are reimagining attribution.",href:"/about",icon:"users"},{label:"Customer stories",description:"How growth teams use Linkrunner for install attribution, deep links, and cohorts.",href:"/customer-stories",icon:"quotes"},{label:"Blog",description:"Notes from the team on mobile measurement, deep links, SKAN, and growth playbooks.",href:"/blog",icon:"newspaper"},{label:"Changelog",description:"What shipped this week. Attribution fixes, new integrations, dashboard updates.",href:"/changelog",icon:"list-checks"},{label:"Tools",description:"Free UTM builder, CPI benchmarks, and ROAS, LTV, and SKAN calculators.",href:"/tools",icon:"toolbox"},{label:"Docs",description:"SDK integration, API reference, and dashboard walkthroughs for your team.",href:"https://docs.linkrunner.io",external:!0,icon:"file-code"}]},{kind:"link",label:"Pricing",href:"/pricing"}],n="https://dashboard.linkrunner.io",s={apiRequests:{startValue:0x6a6afe80,startDate:"2026-02-23T00:00:00Z",increasePerSecond:270,animationDuration:400,fontSize:16,fontFamily:"Inter, system-ui, sans-serif",fontWeight:700,letterSpacing:0,lineHeight:1.2,textAlign:"center",useCommas:!0},supportEmail:"[email protected]",address:"Linkrunner Office, sector 2, HSR Layout, Bangalore, Karnataka 560102, India"}},42035:(e,t,r)=>{r.d(t,{P:()=>n});var a=r(7128);function n({as:e,children:t,summary:r,...s}){return(0,a.jsx)(e??"div",{"data-aeo":"decorative","data-aeo-summary":r||void 0,...s,children:t})}r(71060)},43301:(e,t,r)=>{r.d(t,{Q:()=>u,y:()=>l});let a=[{value:"yes",label:"Yes, live in the App Store / Play Store"},{value:"in_development",label:"In development"},{value:"no",label:"Not yet, exploring"}],n={contact:{intent:"contact",formType:"contact",fieldSet:"lead",eyebrow:"Contact",heading:"Talk to Linkrunner",description:"Tell us what you need help with. Sales, support, partnerships, and product questions all land with the right team.",statusLabel:"Do you have an app?",statusOptions:a,statusError:"Select the option that matches your app status.",messageLabel:"What can we help with?",messagePlaceholder:"Tell us about your app, current measurement setup, and what you want to solve.",submitLabel:"Send message",successHeading:"Thanks, message received.",successMessage:"We will get back to you within one business day. If it is urgent, you can also email [email protected]."},demo:{intent:"demo",formType:"demo",fieldSet:"lead",eyebrow:"Book Demo",heading:"Join 250+ growth teams using Linkrunner",description:"Share your app, ad channels, and current MMP setup. We will tailor the walkthrough around installs, postbacks, cohorts, and revenue.",statusLabel:"Do you have an app?",statusOptions:a,statusError:"Select the option that matches your app status.",messageLabel:"What should we cover in the demo?",messagePlaceholder:"Tell us your current MMP, monthly installs, ad channels, and the measurement gaps you want to fix.",submitLabel:"Book demo",successHeading:"Demo request received.",successMessage:"We will review your stack and reply with the next best time for a walkthrough."},startup:{intent:"startup",formType:"startup",fieldSet:"lead",eyebrow:"Startup Program",heading:"Ap
1ply for startup attribution credits",description:"Tell us about your app, funding stage, and investor details so we can verify eligibility and help you start measuring free.",statusLabel:"What is your app status?",statusOptions:a,statusError:"Select the option that matches your app status.",messageLabel:"Tell us about your startup",messagePlaceholder:"Share your company stage, investor or accelerator, app status, and when you want attribution live.",submitLabel:"Apply for Startup Program",successHeading:"Startup application received.",successMessage:"We will review your startup details and follow up with verification steps."},partner:{intent:"partner",formType:"partner",fieldSet:"lead",eyebrow:"Partner Program",heading:"Talk to partnerships",description:"Share how you want to work with Linkrunner. Agencies, consultants, affiliates, and technology partners all start here.",statusLabel:"What best describes you?",statusOptions:[{value:"agency_or_consultant",label:"Agency or consultant"},{value:"technology_partner",label:"Technology partner"},{value:"affiliate_or_referral",label:"Affiliate or referral partner"}],statusError:"Select the partner type that fits best.",messageLabel:"What kind of partnership are you exploring?",messagePlaceholder:"Tell us about your company, audience, clients, and the partnership model you have in mind.",submitLabel:"Contact partnerships",successHeading:"Partnership inquiry received.",successMessage:"Our partnerships team will review the fit and get back to you within one business day."},press:{intent:"press",formType:"press",fieldSet:"lead",eyebrow:"Press",heading:"Reach the Linkrunner press team",description:"Send press questions, founder quote requests, customer reference needs, or brand asset requests to the team.",statusLabel:"What do you need?",statusOptions:[{value:"founder_quote_or_interview",label:"Founder quote or interview"},{value:"brand_assets",label:"Brand assets or usage help"},{value:"story_context",label:"Product, customer, or company context"}],statusError:"Select the press request type.",messageLabel:"What do you need for your story?",messagePlaceholder:"Share your outlet, deadline, topic, requested assets, and whether you need a founder quote.",submitLabel:"Contact press",successHeading:"Press inquiry received.",successMessage:"We will route this to the press team and reply with the material you need."},"chatgpt-ads-waitlist":{intent:"chatgpt-ads-waitlist",formType:"waitlist",fieldSet:"waitlist",eyebrow:"ChatGPT Ads",heading:"Join the ChatGPT Ads waitlist",description:"Share your details and we will let you know
1when ChatGPT Ads attribution is ready for early access.",statusLabel:"Do you have an app?",statusOptions:a,statusError:"Select the option that matches your app status.",messageLabel:"Anything else we should know?",messagePlaceholder:"Tell us about your app and ChatGPT Ads plans.",submitLabel:"Join waitlist",successHeading:"You are on the waitlist.",successMessage:"We will email you when ChatGPT Ads attribution is ready for early access."}},s={contact:"contact",general:"contact",demo:"demo",sales:"demo","book-demo":"demo",startup:"startup","startup-program":"startup",partner:"partner",partners:"partner",partnership:"partner",press:"press",media:"press","chatgpt-ads-waitlist":"chatgpt-ads-waitlist",chatgpt_ads_waitlist:"chatgpt-ads-waitlist"};function o(e){return Array.isArray(e)?e[0]:e}function i(e,t=120){if(!e)return;let r=e.replace(/\s+/g," ").trim();return r?r.slice(0,t):void 0}function l(e={}){return{...n[s[i(o(e.intent)??o(e.form_type)??o(e.topic),40)?.toLowerCase()??"contact"]??"contact"],sourcePage:i(o(e.source)),ctaId:i(o(e.cta),80)}}function u({intent:e="contact",source:t,cta:r}={}){let a=new URLSearchParams;"contact"!==e&&a.set("intent",e),t&&a.set("source",t),r&&a.set("cta",r);let n=a.toString();return n?`/contact?${n}`:"/contact"}},50586:(e,t,r)=>{r.d(t,{cn:()=>s});var a=r(77630),n=r(48501);function s(...e){return(0,n.QP)((0,a.$)(e))}},62389:(e,t,r)=>{r.r(t),r.d(t,{ShortcutAnchor:()=>b,ShortcutBadge:()=>y,composeRefs:()=>f,getAriaKeyShortcuts:()=>m,inferKeyboardShortcutFromHref:()=>u,resolveKeyboardShortcut:()=>c,useKeyboardShortcutActivation:()=>g});var a=r(7128),n=r(71060),s=r(42035),o=r(50586);let i={cmd:"â",command:"â",meta:"â",mod:"â",ctrl:"Ctrl",control:"Ctrl",alt:"Alt",option:"Opt",shift:"Shift",enter:"Enter",escape:"Esc",esc:"Esc",space:"Space"," ":"Space"};function l(e){return e?("string"==typeof e?e.split(/\s+then\s+/i):e).map(e=>e.trim()).filter(Boolean):[]}function u(e){if(!e)return;let t=function(e){try{return new URL(e,"https://www.linkrunner.io").pathname}catch{return null}}(e);return"/sign-in"===t?"S":"/contact"===t?"C":"/blog"===t?"B":e.startsWith("https://trust.linkrunner.io")?"T":void 0}function c(e,t){if(!1!==t)return t??u(e)}function d(e){return i[e.trim().toLowerCase()]??e.trim().toUpperCase()}function p(e,t){let r=e.split("+").map(e=>e.trim().toLowerCase()).filter(Boolean),a=r.find(e=>!["cmd","command","meta","mod","ctrl","control","alt","option","shift"].includes(e));if(!a)return!1;let n=r.some(e=>["cmd","command","meta","mod"].includes(e)),s=r.some(e=>["ctrl","control"].includes(e)),o=r.some(e=>["alt","option"].includes(e)),i=r.includes("shift");return t.metaKey===n&&t.ctrlKey===s&&t.altKey===o&&(!i||!!t.shiftKey)&&(" "===t.key?"space":t.key.toLowerCase())===(" "===a?"space":a)}function h(e,t){t.defaultPrevented||!function(e){let t=e.getBoundingClientRect();if(0===t.width||0===t.height)return!1;let r=window.getComputedStyle(e);return"none"!==r.display&&"hidden"!==r.visibility}(e)||"true"===e.getAttribute("aria-disabled")||e.disabled||(t.preventDefault(),e.click())}function m(e){let t=l(e);if(1===t.length)return t[0].split("+").map(e=>{let t=e.trim().toLowerCase();return["cmd","command","meta","mod"].includes(t)?"Meta":["ctrl","control"].includes(t)?"Control":["alt","option"].includes(t)?"Alt":"shift"===t?"Shift":d(e)}).join("+")}function f(...e){return t=>{e.forEach(e=>{if(e){if("function"==typeof e)return void e(t);e.current=t}})}}function g(e,t,r=!0){let a=n.useRef(0),s=n.useRef(null),o=Array.isArray(t)?t.join(" then "):t;n.useEffect(()=>{let n=l(t);if(!r||0===n.length)return;let o=()=>{a.current=0,null!==s.current&&(window.clearTimeout(s.current),s.current=null)},i=t=>{if(t.defaultPrevented||t.repeat||function(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName.toLowerCase();return e.isContentEditable||"input"===t||"textarea"===t||"select"===t||!!e.closest('[role="textbox"]')}(t.target))return;let r=e.current;if(!r)return;if(1===n.length){p(n[0],t)&&h(r,t);return}let i=n[a.current];if(!i||!p(i,t)){a.current=+!!p(n[0],t);return}if(a.current+=1,a.current>=n.length){o(),h(r,t);return}null!==s.current&&window.clearTimeout(s.current),s.current=window.setTimeout(o,1200)};return document.addEventListener("keydown",i),()=>{document.removeEventListener("keydown",i),o()}},[r,e,o,t])}function y({shortcut:e,className:t}){let r=l(e);return 0===r.length?null:(0,a.jsx)(s.P,{as:"span","aria-hidden":"true",className:(0,o.cn)("hidden shrink-0 items-center gap-1 tracking-normal lg:inline-flex",t),children:r.map((e,t)=>(0,a.jsxs)(n.Fragment,{children:[t>0?(0,a.jsx)("span",{className:"text-[10px] font-medium leading-none opacity-60",children:"then"}):null,(0,a.jsx)("kbd",{className:"inline-flex min-w-5 items-center justify-center rounded-[6px] border border-current/5 bg-current/[0.035] px-1.5 py-1 font-mono text-[10px] font-medium leading-none text-current opacity-55 shadow-[inset_0_1px_0_rgba(255,255,255,0.18)]",children:e.split("+").map(e=>d(e)).join("")})]},`${e}-${t}`))})}let b=n.forwardRef(({children:e,href:t,keyboardShortcut:r,shortcutClassName:s,"aria-keyshortcuts":o,...i},l)=>{let u=n.useRef(null),d=f(u,l),p=c(t,r);return g(u,p),(0,a.jsxs)("a",{ref:d,href:t,"aria-keyshortcuts":o??m(p),...i,children:[e,p?(0,a.jsx)(y,{shortcut:p,className:s}):null]})});b.displayName="ShortcutAnchor"}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.