How to use MissingLinkz yourself
MissingLinkz is built for AI agents, but you don't need one. If you're a marketer who's comfortable with a terminal, you can run every command yourself. Here's a full walkthrough.
Before you start
You need Node.js 18 or later installed on your machine. If you can run node --version in your terminal and see v18 or higher, you're ready.
On macOS, open Terminal. On Windows, open PowerShell or Command Prompt. On Linux, open your terminal emulator.
Install the CLI
This installs the mlz command globally so you can use it from any directory.
npm install -g missinglinkz
You can start using mlz build and mlz inspect immediately — no account needed for basic UTM generation and page inspection.
Register for a free account
Get 50 links/month free, no credit card required. Your API key is shown once — save it somewhere safe.
mlz auth register --email [email protected]
api_key: mlz_live_abc123... ← save this!
plan: free
quota: 50 links/month
The key is automatically saved to ~/.missinglinkz/config.json. You won't need to enter it again on this machine.
Switch to human-readable output
By default, MissingLinkz outputs JSON (designed for agents to parse). For human use, switch to readable text:
export MLZ_FORMAT=human
This sets the format for your current terminal session. Add it to your ~/.bashrc or ~/.zshrc to make it permanent. You can also use --format human on any individual command.
Run a preflight check on your campaign link
This is the main command. Replace the URL and campaign details with your own. It builds your UTM link, validates the destination, and inspects the landing page — all at once.
mlz preflight --url "https://yoursite.com/landing" --campaign "spring-launch" --source "linkedin" --medium "social" --format human
ready: true
tracked_url: https://yoursite.com/landing?utm_source=linkedin&utm_medium=social&utm_campaign=spring-launch
checks:
PASS og_tags All essential Open Graph tags present
PASS twitter_card Twitter Card tags configured
PASS viewport Viewport meta tag present
PASS ssl URL uses HTTPS
PASS resolution Destination responded with 200
PASS redirects No redirect chain detected
PASS response_time Page loaded in 420ms
PASS canonical Canonical URL matches destination
PASS favicon Favicon found
summary: 12 passed, 0 warnings, 0 failed
verdict: All checks passed. Ready to publish.
Copy the tracked_url — that's your campaign link with UTM tracking baked in. Paste it into your social post, email, or ad.
Create links for multiple platforms
Running the same campaign across LinkedIn, Twitter, and email? Run preflight once per platform with different --source values:
mlz preflight --url "https://yoursite.com/landing" --campaign "spring-launch" --source "twitter" --medium "social" --format human
mlz preflight --url "https://yoursite.com/landing" --campaign "spring-launch" --source "newsletter" --medium "email" --format human
Each command gives you a unique tracked URL for that platform. In Google Analytics, you'll see exactly which platform drove each visit.
Other commands you'll use
Preflight is the main one, but these come in handy:
- Just build a UTM link (skip the landing page checks)
-
mlz build --url "https://yoursite.com" --campaign "launch" --source "twitter" --medium "social" - Audit a landing page (without building a link)
-
mlz inspect https://yoursite.com/landing - Check if a URL is reachable and healthy
-
mlz check https://yoursite.com/landing - Check your remaining link quota
-
mlz auth status - See all your campaigns and links
-
mlz campaigns list
What the preflight checks mean
- OG tags
- Open Graph tags control how your link looks when shared on LinkedIn, Facebook, and Slack. Missing
og:title,og:description, orog:imagemeans a blank or ugly preview — which means fewer clicks. - Twitter Card
- Similar to OG tags, but for Twitter/X. Without
twitter:cardandtwitter:title, your tweet shows a plain URL instead of a rich card. - SSL
- Is the page served over HTTPS? Browsers flag HTTP pages as "Not Secure," which kills trust and click-through.
- Resolution
- Does the page actually load? Catches 404s, 500 errors, and unreachable servers before you send traffic.
- Redirects
- How many hops between your link and the final page? Long redirect chains slow load time and can strip your UTM parameters — breaking your analytics.
- Response time
- How fast does the page load? Every extra second costs ~7% in conversions (Google/Deloitte).
- Viewport
- Is there a mobile viewport tag? Without it, your page won't render properly on phones — where most social traffic comes from.
- Canonical
- Does the canonical URL match the destination? A mismatch can split your analytics data across two URLs.
- Favicon
- Is there a favicon? Without one, browser tabs show a generic icon, which hurts brand recognition.
- UTM conflicts
- Does the destination already have UTM parameters? If so, yours will either conflict or get overwritten, corrupting attribution.
Ready to try it?
Install MissingLinkz and run your first preflight check in under a minute. Free tier, no credit card.
npm install -g missinglinkz
Don't use the terminal? Ask your AI agent (Claude Code, OpenClaw, Cursor) to run mlz preflight for you — it handles everything.