1import{H as u,d as _,u as h,c as n,b as e,h as d,f as s,l as U,F as x,r as y,e as b,w as f,t as o,_ as R,a as i,g as w}from"./Cq9tNHty.js";import{u as T}from"./BXFmlqo8.js";const L=u("/products/utm-builder-lite/icon-128.png"),S=u("/products/utm-builder-lite/builder.png"),P=u("/products/utm-builder-lite/bulk.png"),k="1.1.0",v="2026-09-17",c=null,p="/products/utm-builder-lite",V={class:"bg-white text-gray-900"},A={class:"border-b border-gray-200"},B={class:"container mx-auto px-5 py-14 md:py-20 grid lg:grid-cols-2 gap-12 items-center max-w-6xl"},M=["href"],I={key:1,class:"font-semibold text-orange-800"},N={id:"free-and-pro",class:"bg-gray-50 border-y border-gray-200"},q={class:"container mx-auto max-w-4xl px-5 py-14"},F={class:"overflow-x-auto"},E={class:"w-full text-left text-sm"},D={scope:"row",class:"p-3 font-medium"},O={class:"p-3"},H={class:"p-3"},W={key:0,class:"text-sm text-gray-600 mt-3"},G={class:"container mx-auto max-w-4xl px-5 pb-14"},Q={class:"font-semibold cursor-pointer"},$={class:"text-gray-700 mt-3 leading-relaxed"},z={class:"flex flex-wrap gap-6 mt-9"},K={class:"text-sm text-gray-600 mt-6"},Y=_({__name:"index",setup(j){const C=[["Current-page URL and individual link builder","Included","Included"],["Naming checks, quick fills and saved presets","Included","Included"],["Local history and history CSV import/export","Included","Included"],["Up to 500 destinations per batch with row validation","â","Included"],["Bulk copy and campaign CSV download","â","Included"],["Reusable campaign packs (up to 30)","â","Included"]],m=[{question:"Does it send my campaign URLs to a server?",answer:"No. URLs, UTM values, CSV files, history and campaign packs are processed locally. Cardamon service requests handle pricing, licenses, review configuration and support; they do not include your campaign data unless you choose to include it in a support message."},{question:"Why does Chrome ask for access to tab information?",answer:"The tabs permission lets the open side panel read the active website URL, including when you switch tabs. The extension has no content scripts or website host permissions and does not read page content."},{question:"Will changing tabs erase my work?",answer:"A destination filled from the current page follows tab changes. A URL you edit or paste is kept until you use the current-page button. Campaign fields remain as you set them."},{question:"Is this a link shortener or analytics dashboard?",answer:"No. UTM Builder creates direct campaign URLs without redirects. It does not track clicks or display Google Analytics reports."},{question:"How does the CSV choose campaign values?",answer:"Nonempty row values take precedence over campaign defaults. Any remaining empty value uses the matching UTM tag already in that rowâs URL. Unrelated query parameters and fragments are retained."}],r=`https://www.cardamon.org${p}`;return h({title:"UTM Builder for Chrome â Campaign URLs & Bulk CSV | Cardamon",meta:[{name:"description",content:"Build GA4 UTM links from the current page. Free presets and history, with Pro bulk CSV generation and reusable campaign packs."},{property:"og:title",content:"UTM Builder â individual links and campaign batches"},{property:"og:description",content:"Build and check campaign URLs in Chromeâs side panel."},{property:"og:url",content:r},{property:"og:image",content:"https://www.cardamon.org/products/utm-builder-lite/builder.png"}]}),h({link:[{rel:"canonical",href:r}]}),T([{"@type":"SoftwareApplication",name:"UTM Builder",applicationCategory:"BusinessApplication",operatingSystem:"Chrome 116+",softwareVersion:k,dateModified:v,url:r},{"@type":"FAQPage",mainEntity:m.map(l=>({"@type":"Question",name:l.question,acceptedAnswer:{"@type":"Answer",text:l.answer}}))}]),(l,t)=>{const g=R;return i(),n("div",V,[e("section",A,[e("div",B,[e("div",null,[t[0]||(t[0]=d('<div class="flex items-center gap-3 mb-7"><img src="'+L+'" alt="" width="48" height="48"><span class="font-semibold text-lg">UTM Builder by Cardamon</span></div><h1 class="text-4xl md:text-5xl font-bold leading-tight tracking-tight mb-6">Tag this page.<br>Build the whole campaign.</h1><p class="text-lg text-gray-700 leading-relaxed mb-7 max-w-xl">Create GA4 campaign URLs beside the page you are working on. Keep everyday links free, then use Pro to turn a destination list into a checked campaign CSV.</p>',3)),s(c)?(i(),n("a",{key:0,href:s(c),target:"_blank",rel:"noopener",class:"inline-flex px-6 py-3 bg-orange-700 hover:bg-orange-800 text-white font-semibold rounded-lg"},"Add to Chrome â free",8,M)):(i(),n("p",I,"Chrome Web Store release in preparation")),t[1]||(t[1]=e("p",{class:"text-sm text-gray-600 mt-4"},"Campaign data stays on your device. No account needed for link building.",-1)),t[2]||(t[2]=e("a",{href:"#free-and-pro",class:"inline-block mt-5 text-orange-800 underline underline-offset-4"},"Compare free and Pro features",-1))]),t[3]||(t[3]=e("figure",{class:"max-w-md mx-auto w-full"},[e("img",{src:S,alt:"UTM Builder with the current page URL, campaign fields and tagged link preview",width:"440",height:"1000",class:"w-full rounded-xl border border-gray-200",fetchpriority:"high"}),e("figcaption",{class:"text-sm text-gray-600 mt-3"},"Actual extension interface. Example campaign data.")],-1))])]),t[12]||(t[12]=d('<section class="container mx-auto max-w-6xl px-5 py-14"><h2 class="text-3xl font-bold mb-8">From a page to a ready-to-share link</h2><ol class="grid md:grid-cols-3 gap-8 list-decimal list-inside text-lg font-semibold"><li>Open the side panel<p class="mt-3 text-base font-normal text-gray-700 leading-relaxed">The current website URL fills automatically. Switch pages to follow your work, or edit the destination to keep it fixed.</p></li><li>Add campaign details<p class="mt-3 text-base font-normal text-gray-700 leading-relaxed">Choose source, medium and campaign. Check naming warnings, use a saved preset, and review the final URL.</p></li><li>Copy or build in bulk<p class="mt-3 text-base font-normal text-gray-700 leading-relaxed">Copy one link for free. With Pro, paste up to 500 destinations or import a CSV and check every row before export.</p></li></ol></section>',1)),e("section",N,[e("div",q,[t[6]||(t[6]=e("h2",{class:"text-3xl font-bold mb-3"},"Free for individual links. Pro for campaign batches.",-1)),t[7]||
1(t[7]=e("p",{class:"text-gray-700 mb-8"},"Presets, local history and history CSV import/export remain free. Pro adds two new workflows.",-1)),e("div",F,[e("table",E,[t[4]||(t[4]=e("caption",{class:"sr-only"},"Free and Pro feature comparison",-1)),t[5]||(t[5]=e("thead",null,[e("tr",{class:"border-b-2 border-gray-300"},[e("th",{scope:"col",class:"p-3"},"Feature"),e("th",{scope:"col",class:"p-3"},"Free"),e("th",{scope:"col",class:"p-3"},"Pro")])],-1)),e("tbody",null,[(i(),n(x,null,y(C,a=>e("tr",{key:a[0],class:"border-b border-gray-200"},[e("th",D,o(a[0]),1),e("td",O,o(a[1]),1),e("td",H,o(a[2]),1)])),64))])])]),t[8]||(t[8]=e("p",{class:"text-gray-700 mt-6"},"Pro pricing is shown in the extension before purchase. Checkout is hosted by Cardamon and processed by Paddle; activate with your Cardamon license key.",-1)),s(c)?U("",!0):(i(),n("p",W,"Purchases will be offered with the public extension release. No download or checkout is available from this page yet."))])]),t[13]||(t[13]=d('<section class="container mx-auto max-w-5xl px-5 py-14 grid md:grid-cols-2 gap-10 items-start"><div><h2 class="text-3xl font-bold mb-5">Check the batch before it leaves your browser</h2><p class="text-gray-700 leading-relaxed mb-5">Every destination is checked for a valid website URL and the required campaign fields. Invalid rows block export, while naming and duplicate warnings remain visible.</p><p class="text-gray-700 leading-relaxed">Campaign packs save the destination list, defaults and normalization setting together. Reuse a pack for the next newsletter or promotion without rebuilding the setup. Up to 30 packs are stored on this device.</p></div><figure><img src="'+P+'" alt="Bulk campaign defaults, two generated URLs, CSV export and a saved campaign pack" width="440" height="1000" loading="lazy" class="w-full max-w-md mx-auto border border-gray-200 rounded-xl"><figcaption class="text-sm text-gray-600 mt-3">Pro batch workflow with example URLs.</figcaption></figure></section>',1)),e("section",G,[t[11]||(t[11]=e("h2",{class:"text-3xl font-bold mb-6"},"Questions before you install",-1)),(i(),n(x,null,y(m,a=>e("details",{key:a.question,class:"py-5 border-b border-gray-200"},[e("summary",Q,o(a.question),1),e("p",$,o(a.answer),1)])),64)),e("div",z,[b(g,{to:`${s(p)}/support-utm-builder-lite`,class:"text-orange-800 underline"},{default:f(()=>[...t[9]||(t[9]=[w("Support and setup",-1)])]),_:1},8,["to"]),b(g,{to:`${s(p)}/privacy-policy-utm-builder-lite`,class:"text-orange-800 underline"},{default:f(()=>[...t[10]||(t[10]=[w("Privacy policy",-1)])]),_:1},8,["to"])]),e("p",K,"Version "+o(s(k))+" · Updated "+o(s(v)),1)])])}}});export{Y as default};
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.