Compare commits

...

12 Commits

Author SHA1 Message Date
Andres Corazon Santana Aquino e6d06d6fd0 Add GA4, GTM and Search Console verification
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-13 10:04:51 -04:00
Alejandro Veras a259c92cb0 Let the contact form deliver to several inboxes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 09:46:20 -04:00
Alejandro Veras b3d93d7cbc Document VPS deployment and the environment variables
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 09:38:06 -04:00
Alejandro Veras 7355a3613d Show an on-screen success message instead of emailing visitors
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 12:13:20 -04:00
Alejandro Veras 5551955aaa Harden the contact form and email visitors a confirmation
Adds a fill-time trap, link-spam filter and optional Cloudflare
Turnstile on top of the honeypot; bot hits get a silent success.
Once CONTACT_FROM points at a Resend-verified domain, the visitor
receives a branded copy of their message after the response.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 12:09:05 -04:00
Alejandro Veras e21a23a245 Send contact form submissions by email through Resend
Server Action validates the fields, drops honeypot hits and emails the
enquiry to rey@aigrowth360.io with the visitor as reply-to. Needs
RESEND_API_KEY in the environment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 12:06:39 -04:00
Alejandro Veras 39b2c0a857 Close nav dropdowns once the pointer leaves after a click
The panel opened on :focus-within, so the clicked link's focus kept it
pinned open after navigating. Open on keyboard focus only and release
focus on route change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 10:01:41 -04:00
Alejandro Veras 5161c22e68 Use the official social profiles and widen closing CTA titles
Footer socials now match aigrowthtechnologies.com (Instagram, Facebook,
LinkedIn); X and YouTube are gone since the company has none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 09:57:09 -04:00
Alejandro Veras b8cf7cfbcb Build the full site from the copy decks
Adds About, Contact, Services (index + 8) and Industries (index + 7),
generated from structured JSON converted out of the .docx copy decks
by scripts/convert-docs.py. Shared header with dropdowns, footer,
contact form (mailto until a backend exists), FAQ/breadcrumb JSON-LD,
sitemap and robots.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 22:54:50 -04:00
Alejandro Veras 99a48fac2b Use the rings-and-sail logo mark as the favicon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 16:04:53 -04:00
Alejandro Veras 41ce2c71ba Use the official AI Growth Technologies logo and favicon
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:59:53 -04:00
Alejandro Veras 5134fbfb73 Build the AI Growth Technologies homepage
Dark cinematic redesign: animated globe hero, stats, interactive
capabilities engine, proprietary technology visuals, AI discovery,
attribution journey, connections manifesto, CTA and footer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 15:44:57 -04:00
60 changed files with 14909 additions and 120 deletions
+9
View File
@@ -0,0 +1,9 @@
# Resend — sends contact form submissions by email
RESEND_API_KEY=
CONTACT_FROM="AI Growth Website <hello@aigrowthtechnologies.com>"
# Optional: inbox(es) for enquiries, comma-separated (defaults to rey@aigrowth360.io)
# CONTACT_TO=
# Optional: Cloudflare Turnstile bot check
# TURNSTILE_SECRET_KEY=
# NEXT_PUBLIC_TURNSTILE_SITE_KEY=
+1
View File
@@ -32,6 +32,7 @@ yarn-error.log*
# env files (can opt-in for committing if needed) # env files (can opt-in for committing if needed)
.env* .env*
!.env.example
# vercel # vercel
.vercel .vercel
+64 -21
View File
@@ -1,36 +1,79 @@
This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://nextjs.org/docs/app/api-reference/cli/create-next-app). # AI Growth Technologies — website
## Getting Started Next.js 16 (App Router) site for aigrowthtechnologies.com.
First, run the development server: ## Local development
```bash ```bash
npm run dev npm ci
# or npm run dev # http://localhost:3000
yarn dev
# or
pnpm dev
# or
bun dev
``` ```
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. ## Environment variables
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. Copy `.env.example` to `.env.production` (or `.env.local` for development) and fill it in.
This project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel. | Variable | Required | Purpose |
|---|---|---|
| `RESEND_API_KEY` | yes | Resend key with sending access to `aigrowthtechnologies.com`. Without it the contact form shows an error. |
| `CONTACT_FROM` | yes | Sender, on the domain verified in Resend: `AI Growth Website <hello@aigrowthtechnologies.com>` |
| `CONTACT_TO` | no | Inbox that receives enquiries; separate several with commas. Defaults to `rey@aigrowth360.io`. |
| `TURNSTILE_SECRET_KEY` / `NEXT_PUBLIC_TURNSTILE_SITE_KEY` | no | Cloudflare Turnstile. When both are set, the form shows the challenge. `NEXT_PUBLIC_*` values are baked in at build time, so rebuild after changing it. |
## Learn More ## Deploying to a VPS
To learn more about Next.js, take a look at the following resources: Requirements: Node.js 20.9 or newer (22 LTS recommended), npm, nginx, and a process manager such as pm2.
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. ```bash
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. git clone https://github.com/AlejandroVeras/aigrowth-website.git
cd aigrowth-website
cp .env.example .env.production # then edit it
npm ci
npm run build
pm2 start npm --name aigrowth-website -- start -- -p 3000
pm2 save && pm2 startup # restart on reboot
```
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome! To update later:
## Deploy on Vercel ```bash
git pull && npm ci && npm run build && pm2 restart aigrowth-website
```
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. ### nginx
Check out our [Next.js deployment documentation](https://nextjs.org/docs/app/building-your-application/deploying) for more details. Put nginx in front of the Node server and turn off buffering so streamed pages arrive progressively:
```nginx
server {
server_name aigrowthtechnologies.com www.aigrowthtechnologies.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
}
}
```
Then issue HTTPS with `sudo certbot --nginx -d aigrowthtechnologies.com -d www.aigrowthtechnologies.com`.
### DNS
At Hostinger, point the `A` records for `@` and `www` to the VPS IP. Leave the MX records (Titan email) and the Resend
records (`send`, `resend._domainkey`) as they are.
## Content
Inner pages are generated from the Word copy decks:
```bash
python3 -E scripts/convert-docs.py "<folder with the .docx files>"
```
This rewrites `src/content/pages/*.json`. The homepage (`src/app/page.tsx`) is written by hand.
-1
View File
@@ -1 +0,0 @@
<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>

Before

Width:  |  Height:  |  Size: 391 B

-1
View File
@@ -1 +0,0 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

-1
View File
@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

-1
View File
@@ -1 +0,0 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>

Before

Width:  |  Height:  |  Size: 128 B

-1
View File
@@ -1 +0,0 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>

Before

Width:  |  Height:  |  Size: 385 B

+225
View File
@@ -0,0 +1,225 @@
"""
Convert the copy decks (.docx) into structured page JSON.
Usage:
python3 scripts/convert-docs.py "<folder with the .docx files>"
Paragraphs that start with "> " were bold sentences in the deck and render as
emphasised lines. Each document follows the same conventions: bold all-caps lines are eyebrows
(when followed by a heading) or CTAs; Heading 1/2/3 give the structure.
The output lands in src/content/pages/<slug>.json. The homepage is hand-built
and is skipped.
"""
import html
import json
import pathlib
import re
import sys
import zipfile
OUT = pathlib.Path(__file__).resolve().parent.parent / "src" / "content" / "pages"
# Lines in the decks that are notes to the team, not site copy.
DROP = [
re.compile(r"^<a id="),
re.compile(r"should remain only if .* substantiate", re.I),
]
def read_blocks(path):
xml = zipfile.ZipFile(path).read("word/document.xml").decode("utf8")
out = []
for p in re.findall(r"<w:p[ >].*?</w:p>", xml, re.S):
parts, bolds = [], []
for r in re.findall(r"<w:r[ >].*?</w:r>", p, re.S):
text = ""
for tok in re.findall(r"<w:t[^>]*>[^<]*</w:t>|<w:br[^>]*/>", r):
text += "\n" if tok.startswith("<w:br") else re.sub(r"<[^>]+>", "", tok)
if not text:
continue
parts.append(text)
if text.strip():
bolds.append(bool(re.search(r'<w:b(/>| w:val="(1|true)")', r)))
text = html.unescape("".join(parts)).strip()
text = re.sub(r"[ \t]*\n[ \t]*", "\n", text)
if not text or any(d.search(text) for d in DROP):
continue
st = re.search(r'<w:pStyle w:val="([^"]+)"', p)
style = st.group(1) if st else ""
m = re.match(r"Heading([123])", style)
if text.startswith(("Title Tag:", "Meta Description:", "Suggested URL:")):
k, v = text.split(":", 1)
out.append({"t": "meta", "k": k.strip(), "v": v.strip()})
elif m:
out.append({"t": "h" + m.group(1), "v": text})
elif "<w:numPr>" in p:
out.append({"t": "li", "v": text})
elif bolds and all(bolds):
out.append({"t": "b", "v": text})
else:
out.append({"t": "p", "v": text})
return out
def is_caps(s):
letters = [c for c in s if c.isalpha()]
return bool(letters) and all(c.isupper() for c in letters if c not in "me") # "meSEO"
def new_section(eyebrow=None, title=None):
return {"eyebrow": eyebrow, "title": title, "intro": [], "items": [], "outro": [], "ctas": [], "form": False}
def new_item(title, kicker=None):
return {"kicker": kicker, "title": title, "subtitle": None, "body": [], "list": [], "cta": None}
def structure(blocks):
meta = {}
sections = []
sec = None
item = None
pending_kicker = None
for i, b in enumerate(blocks):
t, v = b["t"], b["v"]
nxt = blocks[i + 1]["t"] if i + 1 < len(blocks) else None
if t == "meta":
meta[b["k"]] = v
continue
# Eyebrows: bold (or an all-caps plain line) right before an h1/h2.
if t in ("b", "p") and nxt in ("h1", "h2") and is_caps(v):
sec = new_section(eyebrow=v)
sections.append(sec)
item = None
continue
if t == "b" and nxt == "h3" and re.search(r"FREQUENTLY ASKED|FAQ", v):
sec = new_section(eyebrow=v)
sections.append(sec)
item = None
continue
if t == "b" and nxt == "h3" and "|" in v:
pending_kicker = v
continue
if t in ("h1", "h2"):
if sec is None or sec["title"] is not None:
sec = new_section()
sections.append(sec)
sec["title"] = v
sec["level"] = t
item = None
continue
if sec is None:
sec = new_section()
sections.append(sec)
if t == "h3":
item = new_item(v, kicker=pending_kicker)
pending_kicker = None
sec["items"].append(item)
continue
if t == "b" and not is_caps(v) and not (item is not None and not item["body"] and item["subtitle"] is None):
# A bold sentence inside running copy: keep it as an emphasised paragraph.
t, v = "p", "> " + v
if t == "b":
if v.strip("()").upper() == "FORM":
sec["form"] = True
elif item is not None and not item["body"] and item["subtitle"] is None and not item["list"]:
item["subtitle"] = v
elif item is not None and item["cta"] is None and re.match(r"(EXPLORE|VIEW|LEARN|SEE|EXAMINE|DISCOVER)\b", v) and not re.search(r"\bALL\b", v):
item["cta"] = v
else:
sec["ctas"].append(v)
item = None
continue
if t == "li":
(item["list"] if item else sec["intro"]).append(v)
continue
# paragraph
if item is not None and sec["ctas"] == []:
item["body"].append(v)
elif sec["items"]:
sec["outro"].append(v)
else:
sec["intro"].append(v)
for s in sections:
tidy(s)
return meta, sections
def tidy(sec):
items = sec["items"]
# A CTA held by only the last item belongs to the section.
if len(items) > 1 and items[-1]["cta"] and not any(it["cta"] for it in items[:-1]):
sec["ctas"].insert(0, items[-1]["cta"])
items[-1]["cta"] = None
# Trailing paragraphs beyond the other items' length are the section outro.
if len(items) > 1:
lens = [len(it["body"]) for it in items[:-1]]
keep = max(lens)
last = items[-1]
if len(last["body"]) > keep and not last["list"]:
sec["outro"] = last["body"][keep:] + sec["outro"]
last["body"] = last["body"][:keep]
sec["kind"] = kind_of(sec)
if sec["kind"] == "steps":
for it in items:
m = re.match(r"^(\d+)\.\s*(.*)$", it["title"])
it["num"], it["title"] = m.group(1), m.group(2)
def kind_of(sec):
items = sec["items"]
if not items:
return "text"
titles = [it["title"] for it in items]
if all(re.match(r"^\d+\.\s", t) for t in titles):
return "steps"
if len(items) >= 3 and all(t.endswith("?") for t in titles):
return "faq"
if all(re.match(r"^[\d.,]+[%+x]?$", t) for t in titles):
return "stats"
if any("Phone:" in " ".join(it["body"]) for it in items):
return "offices"
if any(it["kicker"] for it in items):
return "showcase"
if all(it["cta"] for it in items):
return "links"
return "cards"
def slug_for(name):
name = name.strip().replace("https_www.aigrowthtechnologies.com_", "")
return name
def main(folder):
OUT.mkdir(parents=True, exist_ok=True)
for f in sorted(pathlib.Path(folder).rglob("*.docx")):
slug = slug_for(f.stem)
if not slug:
continue # homepage — hand-built
meta, sections = structure(read_blocks(f))
hero = sections[0]
page = {
"slug": slug,
"path": "/" + slug.replace("_", "/"),
"meta": {"title": meta.get("Title Tag"), "description": meta.get("Meta Description")},
"hero": hero,
"sections": sections[1:],
}
(OUT / f"{slug}.json").write_text(json.dumps(page, ensure_ascii=False, indent=2) + "\n")
kinds = [s["kind"] for s in sections[1:]]
print(f"{slug:32} {len(sections)-1:2} sections {' '.join(kinds)}")
if __name__ == "__main__":
main(sys.argv[1])
+19
View File
@@ -0,0 +1,19 @@
import ContentPage from "@/components/content/content-page";
import { pages } from "@/lib/pages";
import { pageMetadata } from "@/lib/metadata";
const page = pages.about;
export const metadata = pageMetadata(page);
export default function AboutPage() {
return (
<ContentPage
page={page}
crumbs={[
{ name: "Home", href: "/" },
{ name: "About", href: "/about" },
]}
/>
);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

+117
View File
@@ -0,0 +1,117 @@
"use server";
import { headers } from "next/headers";
export type ContactState = { status: "idle" | "sent" | "error"; message?: string };
// Where enquiries land. Override with CONTACT_TO (comma-separated for several inboxes) if it ever changes.
const TO = (process.env.CONTACT_TO || "rey@aigrowth360.io")
.split(",")
.map((a) => a.trim())
.filter(Boolean);
// Resend's shared sender only delivers to the address that owns the Resend account. To send to TO
// from any other account, set CONTACT_FROM to an address on a domain verified in Resend
// (e.g. "AI Growth Website <hello@aigrowthtechnologies.com>").
const FROM = process.env.CONTACT_FROM || "AI Growth Website <onboarding@resend.dev>";
const MIN_FILL_MS = 3000;
const MAX_LINKS = 3;
const clean = (v: FormDataEntryValue | null, max: number) => String(v ?? "").trim().slice(0, max);
const escape = (s: string) =>
s.replace(/[&<>"']/g, (c) => ({ "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" })[c]!);
// Bots get a normal-looking success so they don't learn what tripped them.
const silentlyDrop = (reason: string): ContactState => {
console.warn("Contact form: dropped submission —", reason);
return { status: "sent" };
};
async function passesTurnstile(token: string): Promise<boolean> {
const secret = process.env.TURNSTILE_SECRET_KEY;
if (!secret) return true; // Turnstile not configured yet
if (!token) return false;
const ip = (await headers()).get("x-forwarded-for")?.split(",")[0]?.trim();
const body = new URLSearchParams({ secret, response: token });
if (ip) body.set("remoteip", ip);
try {
const res = await fetch("https://challenges.cloudflare.com/turnstile/v0/siteverify", { method: "POST", body });
const data = (await res.json()) as { success?: boolean };
return data.success === true;
} catch (err) {
console.error("Contact form: Turnstile check failed", err);
return false;
}
}
async function sendEmail(apiKey: string, payload: Record<string, unknown>) {
const res = await fetch("https://api.resend.com/emails", {
method: "POST",
headers: { Authorization: `Bearer ${apiKey}`, "Content-Type": "application/json" },
body: JSON.stringify({ from: FROM, ...payload }),
});
if (!res.ok) throw new Error(`Resend ${res.status}: ${await res.text()}`);
}
export async function sendContact(_prev: ContactState, formData: FormData): Promise<ContactState> {
// 1. Honeypot: real visitors never see or fill this field.
if (clean(formData.get("company_url"), 200)) return silentlyDrop("honeypot");
// 2. Time trap: people need more than a few seconds to fill the form in.
const started = Number(formData.get("started"));
if (!started || Date.now() - started < MIN_FILL_MS) return silentlyDrop("submitted too fast");
const name = clean(formData.get("name"), 120);
const email = clean(formData.get("email"), 200);
const company = clean(formData.get("company"), 160);
const website = clean(formData.get("website"), 300);
const interests = formData
.getAll("interest")
.map((i) => clean(i, 60))
.filter(Boolean)
.slice(0, 12);
const message = clean(formData.get("message"), 5000);
if (!name || !message || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
return { status: "error", message: "Please add your name, a valid email, and a short message." };
}
// 3. Link spam.
if ((message.match(/https?:\/\/|www\./gi) ?? []).length > MAX_LINKS) return silentlyDrop("too many links");
// 4. Cloudflare Turnstile, once its keys are configured.
if (!(await passesTurnstile(clean(formData.get("cf-turnstile-response"), 2048)))) {
return { status: "error", message: "We couldn’t verify you’re human. Please try again." };
}
const apiKey = process.env.RESEND_API_KEY;
if (!apiKey) {
console.error("Contact form: RESEND_API_KEY is not set");
return { status: "error", message: "The form isn’t available right now." };
}
const rows: [string, string][] = [
["Name", name],
["Email", email],
["Company", company || "—"],
["Website", website || "—"],
["Interested in", interests.join(", ") || "—"],
];
try {
await sendEmail(apiKey, {
to: TO,
reply_to: email,
subject: `New enquiry — ${company || name}`,
text: `${rows.map(([k, v]) => `${k}: ${v}`).join("\n")}\n\n${message}`,
html: `<table cellpadding="6" style="font-family:Arial,sans-serif;font-size:14px">${rows
.map(([k, v]) => `<tr><td style="color:#666">${k}</td><td><b>${escape(v)}</b></td></tr>`)
.join("")}</table><p style="font-family:Arial,sans-serif;font-size:14px;white-space:pre-wrap">${escape(message)}</p>`,
});
} catch (err) {
console.error("Contact form: could not email the team", err);
return { status: "error", message: "We couldn’t send your message." };
}
return { status: "sent" };
}
+19
View File
@@ -0,0 +1,19 @@
import ContentPage from "@/components/content/content-page";
import { pages } from "@/lib/pages";
import { pageMetadata } from "@/lib/metadata";
const page = pages.contact;
export const metadata = pageMetadata(page);
export default function ContactPage() {
return (
<ContentPage
page={page}
crumbs={[
{ name: "Home", href: "/" },
{ name: "Contact", href: "/contact" },
]}
/>
);
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

+2614 -15
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

+44
View File
@@ -0,0 +1,44 @@
import { Suspense } from "react";
import { notFound } from "next/navigation";
import ContentPage from "@/components/content/content-page";
import { getIndustry } from "@/lib/pages";
import { pageMetadata } from "@/lib/metadata";
import { industryNav } from "@/lib/routes";
type Params = PageProps<"/industries/[slug]">["params"];
export function generateStaticParams() {
return industryNav.map((s) => ({ slug: s.slug }));
}
export async function generateMetadata({ params }: PageProps<"/industries/[slug]">) {
const { slug } = await params;
const page = getIndustry(slug);
return page ? pageMetadata(page) : {};
}
export default function Page({ params }: PageProps<"/industries/[slug]">) {
return (
<Suspense fallback={<section className="hero page-hero" aria-busy="true" />}>
<Content params={params} />
</Suspense>
);
}
async function Content({ params }: { params: Params }) {
const { slug } = await params;
const page = getIndustry(slug);
if (!page) notFound();
const name = industryNav.find((s) => s.slug === slug)?.name ?? slug;
return (
<ContentPage
page={page}
crumbs={[
{ name: "Home", href: "/" },
{ name: "Industries", href: "/industries" },
{ name, href: `/industries/${slug}` },
]}
/>
);
}
+19
View File
@@ -0,0 +1,19 @@
import ContentPage from "@/components/content/content-page";
import { pages } from "@/lib/pages";
import { pageMetadata } from "@/lib/metadata";
const page = pages.industries;
export const metadata = pageMetadata(page);
export default function IndustriesPage() {
return (
<ContentPage
page={page}
crumbs={[
{ name: "Home", href: "/" },
{ name: "Industries", href: "/industries" },
]}
/>
);
}
+70 -15
View File
@@ -1,29 +1,84 @@
import type { Metadata } from "next"; import { Suspense } from "react";
import { Geist, Geist_Mono } from "next/font/google"; import type { Metadata, Viewport } from "next";
import { Inter } from "next/font/google";
import Script from "next/script";
import "./globals.css"; import "./globals.css";
import SiteHeader from "@/components/site-header";
import SiteFooter from "@/components/site-footer";
const geistSans = Geist({ const inter = Inter({
variable: "--font-geist-sans", variable: "--font-inter",
subsets: ["latin"], subsets: ["latin"],
display: "swap",
}); });
const geistMono = Geist_Mono({ const description =
variable: "--font-geist-mono", "AI Growth Technologies connects paid media, SEO, AI visibility, web, attribution, and technology into one accountable digital growth system.";
subsets: ["latin"],
});
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Create Next App", metadataBase: new URL("https://www.aigrowthtechnologies.com"),
description: "Generated by create next app", title: {
default: "AI Growth Technologies | Digital Growth for the AI Era",
template: "%s",
},
description,
alternates: { canonical: "/" },
verification: {
google: "LnRawiMDpDtTVBC2X34We70f8OHBLMVC6e9IWoHCZLs",
},
openGraph: {
type: "website",
url: "/",
siteName: "AI Growth Technologies",
title: "AI Growth Technologies | Digital Growth for the AI Era",
description,
},
};
export const viewport: Viewport = {
themeColor: "#000000",
colorScheme: "dark",
}; };
export default function RootLayout({ children }: LayoutProps<"/">) { export default function RootLayout({ children }: LayoutProps<"/">) {
return ( return (
<html <html lang="en" className={inter.variable} data-scroll-behavior="smooth">
lang="en" <body>
className={`${geistSans.variable} ${geistMono.variable} h-full antialiased`} <Script id="gtm" strategy="afterInteractive">
> {`(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
<body className="min-h-full flex flex-col">{children}</body> new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TP5FCVMQ');`}
</Script>
<Script
src="https://www.googletagmanager.com/gtag/js?id=G-H7CB0B2RRS"
strategy="afterInteractive"
/>
<Script id="ga4" strategy="afterInteractive">
{`window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-H7CB0B2RRS');`}
</Script>
<noscript>
<iframe
src="https://www.googletagmanager.com/ns.html?id=GTM-TP5FCVMQ"
height="0"
width="0"
style={{ display: "none", visibility: "hidden" }}
/>
</noscript>
<a href="#main" className="skip-link">
Skip to content
</a>
{/* The header reads the pathname, which is request data on dynamic routes. */}
<Suspense>
<SiteHeader />
</Suspense>
<main id="main">{children}</main>
<SiteFooter />
</body>
</html> </html>
); );
} }
+386 -59
View File
@@ -1,69 +1,396 @@
import Image from "next/image"; import type { CSSProperties, ReactNode } from "react";
import GlobeCanvas from "@/components/globe-canvas";
import StatCounter from "@/components/stat-counter";
import RevealObserver from "@/components/reveal-observer";
import Capabilities from "@/components/capabilities";
import QueryTicker from "@/components/query-ticker";
import ProductVisual from "@/components/product-visuals";
import Link from "next/link";
import { stats, products, journeySteps, gaps } from "@/content/home";
import { hrefFor } from "@/lib/routes";
type Vars = CSSProperties & Record<`--${string}`, string | number>;
const delay = (ms: number) => ({ "--d": `${ms}ms` }) as Vars;
const Arrow = () => <span className="arrow">→</span>;
function Eyebrow({ index, children }: { index?: string; children: ReactNode }) {
return (
<p className="eyebrow">
{index && <span className="idx">{index}</span>}
{children}
</p>
);
}
export default function Home() { export default function Home() {
return ( return (
<div className="flex flex-col flex-1 items-center justify-center bg-zinc-50 font-sans dark:bg-black"> <>
<main className="flex flex-1 w-full max-w-3xl flex-col items-center justify-between py-32 px-16 bg-white dark:bg-black sm:items-start"> {/* ───────────────────────── Hero ───────────────────────── */}
<Image <section className="hero" id="top" aria-labelledby="hero-title">
className="dark:invert h-5 w-[100px]" <GlobeCanvas />
src="/next.svg" <div className="wrap hero-inner">
alt="Next.js logo" <div data-reveal>
width={100} <Eyebrow>Digital Growth Architects</Eyebrow>
height={20} </div>
priority <h1 id="hero-title" className="display h1" data-reveal style={delay(120)}>
/> Where Search, AI, Media, and Technology Work Together.
<div className="flex flex-col items-center gap-6 text-center sm:items-start sm:text-left">
<h1 className="max-w-xs text-3xl font-semibold leading-10 tracking-tight text-black dark:text-zinc-50">
To get started, edit the{" "}
<code className="rounded bg-black/[.06] px-1.5 py-0.5 font-mono text-[0.9em] dark:bg-white/[.08]">
page.tsx
</code>{" "}
file.
</h1> </h1>
<p className="max-w-md text-lg leading-8 text-zinc-600 dark:text-zinc-400">
Looking for a starting point or more instructions? Head over to{" "} <div className="hero-grid">
<a <div className="hero-lead lead" data-reveal style={delay(260)}>
href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" <p>
className="font-medium text-zinc-950 dark:text-zinc-50" Your customer might find you through Google today, an AI answer tomorrow, and a paid ad three
> days later.
Templates </p>
</a>{" "} <p className="muted">They don’t think in channels. Your growth strategy shouldn’t either.</p>
or the{" "} </div>
<a <div className="hero-body" data-reveal style={delay(380)}>
href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" <div className="copy">
className="font-medium text-zinc-950 dark:text-zinc-50" <p>
> AI Growth Technologies brings paid media, search, AI visibility, technology, and attribution
Learning together so each part strengthens the others.
</a>{" "} </p>
center. <p className="hl">One strategy. Connected execution. A clearer view of what is actually driving growth.</p>
</div>
<div className="hero-actions">
<Link href="/contact" className="btn btn-solid">
Book a Strategy Call <Arrow />
</Link>
<Link href="/services" className="btn btn-ghost">
Explore Services <Arrow />
</Link>
</div>
</div>
</div>
<div className="hero-foot" data-reveal style={delay(520)}>
<div className="hero-channels" aria-hidden="true">
<span>Paid Media</span>
<i />
<span>Search</span>
<i />
<span>AI Visibility</span>
<i />
<span>Technology</span>
<i />
<span>Attribution</span>
</div>
<a href="#evidence" className="scroll-cue">
Scroll <i />
</a>
</div>
</div>
</section>
{/* ───────────────────────── Numbers ───────────────────────── */}
<section className="section" id="evidence" aria-labelledby="evidence-title">
<div className="wrap">
<div className="section-head">
<div className="title" data-reveal>
<Eyebrow index="01">The Numbers Behind the Work</Eyebrow>
<h2 id="evidence-title" className="display h2">
Good Growth Leaves Evidence.
</h2>
</div>
</div>
<div className="stats">
{stats.map((s, i) => (
<div key={s.label} className="stat" data-reveal style={delay(i * 120)}>
<StatCounter value={s.value} suffix={s.suffix} />
<div className="stat-label">{s.label}</div>
</div>
))}
</div>
</div>
</section>
{/* ───────────────────────── Capabilities ───────────────────────── */}
<section className="section section-night" id="capabilities" aria-labelledby="cap-title">
<div className="wrap">
<div className="section-head">
<div className="title" data-reveal>
<Eyebrow index="02">Everything Works Better Connected</Eyebrow>
<h2 id="cap-title" className="display h2">
Eight Capabilities.
<br />
One Growth Engine.
</h2>
</div>
</div>
<div className="split">
<div className="lead" data-reveal>
<p>
A search can lead to an ad. An ad can lead to a website visit. An AI answer can introduce the brand
before either happens.
</p> </p>
</div> </div>
<div className="flex flex-col gap-4 text-base font-medium sm:flex-row"> <div className="copy" data-reveal style={delay(140)}>
<a <p>To your customer, that is not SEO, paid media, AI, and web.</p>
className="flex h-12 w-full items-center justify-center gap-2 rounded-full bg-foreground px-5 text-background transition-colors hover:bg-[#383838] dark:hover:bg-[#ccc] md:w-[158px]" <p className="hl">It is one experience with your business.</p>
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app" <p>Our capabilities are designed to work that way too.</p>
target="_blank"
rel="noopener noreferrer"
>
<Image
className="dark:invert h-[14px] w-4"
src="/vercel.svg"
alt="Vercel logomark"
width={16}
height={14}
/>
Deploy Now
</a>
<a
className="flex h-12 w-full items-center justify-center rounded-full border border-solid border-black/[.08] px-5 transition-colors hover:border-transparent hover:bg-black/[.04] dark:border-white/[.145] dark:hover:bg-[#1a1a1a] md:w-[158px]"
href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
Documentation
</a>
</div> </div>
</main>
</div> </div>
<div data-reveal>
<Capabilities />
</div>
</div>
</section>
{/* ───────────────────────── Proprietary technology ───────────────────────── */}
<section className="section" id="technology" aria-labelledby="tech-title">
<div className="wrap">
<div className="section-head">
<div className="title" data-reveal>
<Eyebrow index="03">Proprietary Technology</Eyebrow>
<h2 id="tech-title" className="display h2">
We Wanted Better Answers, So We Built Better Tools.
</h2>
</div>
</div>
<div className="split">
<div className="lead" data-reveal>
<p>Marketing produces plenty of numbers.</p>
<p className="muted">The harder part is knowing which ones matter.</p>
</div>
<div className="copy" data-reveal style={delay(140)}>
<p>
Our proprietary technology gives our teams and clients a clearer view across attribution, organic and
AI visibility, and digital resilience.
</p>
<p>
Not more data for the sake of it. <span className="hl">Better information for the decisions that come next.</span>
</p>
</div>
</div>
<div className="products">
{products.map((p, i) => (
<article key={p.name} className="product" aria-labelledby={`product-${i}`}>
<div className="product-visual" data-reveal>
<ProductVisual kind={p.visual} />
</div>
<div className="product-body" data-reveal style={delay(160)}>
<div className="product-kind">
<span>{String(i + 1).padStart(2, "0")} / 03</span>
<span className="pill">{p.kind}</span>
</div>
<h3 id={`product-${i}`} className="product-name">
{p.name}
</h3>
<h4 className="display h3">{p.headline}</h4>
<div className="copy">
{p.body.map((b) => (
<p key={b}>{b}</p>
))}
</div>
<Link href={hrefFor(p.cta)} className="arrow-link">
{p.cta} <Arrow />
</Link>
</div>
</article>
))}
</div>
</div>
</section>
{/* ───────────────────────── Discovery ───────────────────────── */}
<section className="section section-night discovery" id="discovery" aria-labelledby="disc-title">
<div className="wrap">
<div className="section-head">
<div className="title" data-reveal>
<Eyebrow index="04">Discovery Is Changing</Eyebrow>
<h2 id="disc-title" className="display h2">
Your Next Customer May Ask Before They Search.
</h2>
</div>
</div>
<div className="discovery-stage" data-reveal>
<div className="query-label">People now ask AI platforms</div>
<QueryTicker />
<div className="surfaces">
<div className="surface left">
<span className="pill">Google</span>
<span className="pill">Rankings</span>
<span className="pill">Authority</span>
</div>
<div className="surface-core">Your Brand</div>
<div className="surface">
<span className="pill">ChatGPT</span>
<span className="pill">Gemini</span>
<span className="pill">AI Overviews</span>
<span className="pill">Perplexity</span>
</div>
</div>
</div>
<div className="split">
<div className="lead" data-reveal>
<p>People still search Google.</p>
<p className="muted">
Now they also ask AI platforms which companies to consider, how products compare, what to buy, and
who to trust.
</p>
</div>
<div data-reveal style={delay(140)}>
<div className="copy">
<p className="hl">That changes what visibility means.</p>
<p>
Rankings still matter. But so do the information, authority, context, and signals that help AI
systems understand a brand well enough to surface it.
</p>
<p>Our SEO and LLMO work connects both sides of that shift.</p>
</div>
<Link href="/services/llmo" className="arrow-link" style={{ marginTop: 28 }}>
Explore AI Visibility <Arrow />
</Link>
</div>
</div>
</div>
</section>
{/* ───────────────────────── Attention to action ───────────────────────── */}
<section className="section" id="approach" aria-labelledby="journey-title">
<div className="wrap">
<div className="section-head">
<div className="title" data-reveal>
<Eyebrow index="05">From Attention to Action</Eyebrow>
<h2 id="journey-title" className="display h2">
The Last Click Rarely Tells the Whole Story.
</h2>
</div>
</div>
<div className="journey" data-reveal-group>
<ol>
{journeySteps.map((s, i) => (
<li key={s.label} style={{ "--i": i } as Vars}>
<span className="dot" />
<span className="channel">
{String(i + 1).padStart(2, "0")} — {s.channel}
</span>
<span className="step">{s.label}</span>
</li>
))}
</ol>
</div>
<div className="credit split">
<h3 className="display question" data-reveal>
Which interaction gets the credit?
</h3>
<div className="copy" data-reveal style={delay(140)}>
<p>Too often, the answer depends on which dashboard you open.</p>
<p>
We bring media, search, AI visibility, and attribution closer together to answer a more useful
question:
</p>
</div>
</div>
<figure className="pullquote" data-reveal>
<Eyebrow>The more useful question</Eyebrow>
<blockquote>What actually helped move the customer toward a decision?</blockquote>
<figcaption className="copy">
<p>Better attribution isn’t about producing a prettier report.</p>
<p className="hl">
It is about knowing where the next dollar has the best chance of doing something useful.
</p>
</figcaption>
<Link href="/about" className="arrow-link">
Explore Our Approach <Arrow />
</Link>
</figure>
</div>
</section>
{/* ───────────────────────── Connections ───────────────────────── */}
<section className="section section-night" id="difference" aria-labelledby="diff-title">
<div className="wrap">
<div className="section-head">
<div className="title" data-reveal>
<Eyebrow index="06">The Difference Is in the Connections</Eyebrow>
<h2 id="diff-title" className="display h2">
Good Channels Don’t Automatically Make a Good System.
</h2>
</div>
</div>
<ul className="gaps">
{gaps.map((g, i) => (
<li key={g} data-reveal style={delay(i * 80)}>
<span>{g}</span>
<svg className="break" viewBox="0 0 120 14" aria-hidden="true">
<line x1="0" y1="7" x2="50" y2="7" />
<line x1="70" y1="7" x2="120" y2="7" />
<line className="cut" x1="55" y1="1" x2="65" y2="13" />
</svg>
</li>
))}
</ul>
<div className="split" style={{ marginTop: "clamp(80px, 10vw, 144px)" }}>
<h3 className="display h2" data-reveal>
That is the gap we care about.
</h3>
<div className="copy" data-reveal style={delay(140)}>
<p>We look at how discovery, acquisition, experience, data, technology, and security affect one another.</p>
<p className="hl">Then we strengthen the connections that make the whole system perform better.</p>
</div>
</div>
<div className="nos">
<div data-reveal>
<span>No. 01</span>
No channel fighting for credit.
</div>
<div data-reveal style={delay(120)}>
<span>No. 02</span>
No technology added just because it is new.
</div>
<div data-reveal style={delay(240)}>
<span>No. 03</span>
No dashboard pretending the numbers mean more than they do.
</div>
</div>
<p className="closing" data-reveal>
Just a clearer system and a team accountable for making it work.
</p>
</div>
</section>
{/* ───────────────────────── CTA ───────────────────────── */}
<section className="cta" id="contact" aria-labelledby="cta-title">
<GlobeCanvas layout="center" />
<div className="wrap">
<div data-reveal>
<Eyebrow>Ready When You Are</Eyebrow>
</div>
<h2 id="cta-title" className="display h2" data-reveal style={delay(120)}>
Bring Us the Growth Problem You Can’t Quite Pin Down.
</h2>
<div className="copy" data-reveal style={delay(240)}>
<p>
Maybe acquisition is getting more expensive. Maybe organic visibility has stalled. Maybe AI is changing
how customers find you.
</p>
<p>Or maybe every dashboard looks healthy, but the business is telling you something different.</p>
</div>
<div className="lead" data-reveal style={delay(320)}>
<p>You don’t need to diagnose it before the call.</p>
<p className="muted">Bring us what you’re seeing. We’ll start there.</p>
</div>
<div data-reveal style={delay(400)}>
<Link href="/contact" className="btn btn-solid">
Book Your Strategy Call <Arrow />
</Link>
</div>
</div>
</section>
<RevealObserver />
</>
); );
} }
+6
View File
@@ -0,0 +1,6 @@
import type { MetadataRoute } from "next";
import { SITE_URL } from "@/lib/routes";
export default function robots(): MetadataRoute.Robots {
return { rules: { userAgent: "*", allow: "/" }, sitemap: `${SITE_URL}/sitemap.xml` };
}
+44
View File
@@ -0,0 +1,44 @@
import { Suspense } from "react";
import { notFound } from "next/navigation";
import ContentPage from "@/components/content/content-page";
import { getService } from "@/lib/pages";
import { pageMetadata } from "@/lib/metadata";
import { serviceNav } from "@/lib/routes";
type Params = PageProps<"/services/[slug]">["params"];
export function generateStaticParams() {
return serviceNav.map((s) => ({ slug: s.slug }));
}
export async function generateMetadata({ params }: PageProps<"/services/[slug]">) {
const { slug } = await params;
const page = getService(slug);
return page ? pageMetadata(page) : {};
}
export default function Page({ params }: PageProps<"/services/[slug]">) {
return (
<Suspense fallback={<section className="hero page-hero" aria-busy="true" />}>
<Content params={params} />
</Suspense>
);
}
async function Content({ params }: { params: Params }) {
const { slug } = await params;
const page = getService(slug);
if (!page) notFound();
const name = serviceNav.find((s) => s.slug === slug)?.name ?? slug;
return (
<ContentPage
page={page}
crumbs={[
{ name: "Home", href: "/" },
{ name: "Services", href: "/services" },
{ name, href: `/services/${slug}` },
]}
/>
);
}
+19
View File
@@ -0,0 +1,19 @@
import ContentPage from "@/components/content/content-page";
import { pages } from "@/lib/pages";
import { pageMetadata } from "@/lib/metadata";
const page = pages.services;
export const metadata = pageMetadata(page);
export default function ServicesPage() {
return (
<ContentPage
page={page}
crumbs={[
{ name: "Home", href: "/" },
{ name: "Services", href: "/services" },
]}
/>
);
}
+15
View File
@@ -0,0 +1,15 @@
import type { MetadataRoute } from "next";
import { SITE_URL, industryNav, serviceNav } from "@/lib/routes";
export default function sitemap(): MetadataRoute.Sitemap {
const paths = [
"",
"/about",
"/contact",
"/services",
...serviceNav.map((s) => `/services/${s.slug}`),
"/industries",
...industryNav.map((s) => `/industries/${s.slug}`),
];
return paths.map((p) => ({ url: SITE_URL + p, priority: p === "" ? 1 : p.split("/").length === 2 ? 0.8 : 0.6 }));
}
+109
View File
@@ -0,0 +1,109 @@
"use client";
import { useState } from "react";
import Link from "next/link";
import { capabilities } from "@/content/home";
import { hrefFor } from "@/lib/routes";
const pad = (i: number) => String(i + 1).padStart(2, "0");
// Eight nodes on a ring around a core — every capability connected to every other.
const SIZE = 360;
const C = SIZE / 2;
const RING = 132;
const nodes = capabilities.map((_, i) => {
const a = (i / capabilities.length) * Math.PI * 2 - Math.PI / 2;
return { x: C + Math.cos(a) * RING, y: C + Math.sin(a) * RING };
});
function EngineMap({ active }: { active: number }) {
return (
<svg className="cap-map" viewBox={`0 0 ${SIZE} ${SIZE}`} aria-hidden="true">
{nodes.map((a, i) =>
nodes.slice(i + 1).map((b, j) => {
const k = i + 1 + j;
return (
<line key={`${i}-${k}`} x1={a.x} y1={a.y} x2={b.x} y2={b.y} className={i === active || k === active ? "on" : ""} />
);
}),
)}
{nodes.map((n, i) => (
<line key={`c${i}`} x1={C} y1={C} x2={n.x} y2={n.y} className={i === active ? "on" : ""} />
))}
<circle className="core" cx={C} cy={C} r={30} />
<text x={C} y={C + 2.5} textAnchor="middle">
GROWTH
</text>
{nodes.map((n, i) => (
<g key={`n${i}`}>
{i === active && <rect key={`p${active}`} className="pulse" x={n.x - 5} y={n.y - 5} width={10} height={10} />}
<rect className={`node${i === active ? " on" : ""}`} x={n.x - 5} y={n.y - 5} width={10} height={10} />
<text
x={C + Math.cos((i / nodes.length) * Math.PI * 2 - Math.PI / 2) * (RING + 22)}
y={C + Math.sin((i / nodes.length) * Math.PI * 2 - Math.PI / 2) * (RING + 22) + 2.5}
textAnchor="middle"
>
{pad(i)}
</text>
</g>
))}
</svg>
);
}
export default function Capabilities() {
const [active, setActive] = useState(0);
const cap = capabilities[active];
return (
<div className="cap-layout">
<ul className="cap-list">
{capabilities.map((c, i) => (
<li key={c.name} className={`cap-item${i === active ? " is-active" : ""}`}>
<button
type="button"
className="cap-trigger"
aria-pressed={i === active}
onMouseEnter={() => setActive(i)}
onFocus={() => setActive(i)}
onClick={() => setActive(i)}
>
<span className="num">{pad(i)}</span>
<span className="name">{c.name}</span>
<span className="tick" />
</button>
<div className="cap-inline">
<h3>{c.headline}</h3>
<div className="copy">
{c.body.map((p) => (
<p key={p}>{p}</p>
))}
</div>
<Link href={hrefFor(c.cta)} className="arrow-link">
{c.cta} <span className="arrow">→</span>
</Link>
</div>
</li>
))}
</ul>
<div className="cap-panel" aria-live="polite">
<EngineMap active={active} />
<div key={active} className="cap-detail">
<div className="kicker">
{pad(active)} / {cap.name}
</div>
<h3 className="display h3">{cap.headline}</h3>
<div className="copy">
{cap.body.map((p) => (
<p key={p}>{p}</p>
))}
</div>
<Link href={hrefFor(cap.cta)} className="arrow-link">
{cap.cta} <span className="arrow">→</span>
</Link>
</div>
</div>
</div>
);
}
+102
View File
@@ -0,0 +1,102 @@
"use client";
import Script from "next/script";
import { useActionState, useEffect, useRef } from "react";
import { sendContact, type ContactState } from "@/app/contact/actions";
import { CONTACT_EMAIL, serviceNav } from "@/lib/routes";
const interests = [...serviceNav.map((s) => s.name), "Not sure yet"];
const initial: ContactState = { status: "idle" };
// Cloudflare Turnstile renders only once a site key is configured.
const TURNSTILE_SITE_KEY = process.env.NEXT_PUBLIC_TURNSTILE_SITE_KEY;
declare global {
interface Window {
turnstile?: { reset: (el?: Element | string) => void };
}
}
export default function ContactForm() {
const [state, action, pending] = useActionState(sendContact, initial);
const startedRef = useRef<HTMLInputElement>(null);
// When the visitor started filling the form; the server rejects instant (bot) submissions.
useEffect(() => {
if (startedRef.current && !startedRef.current.value) startedRef.current.value = String(Date.now());
}, []);
// A Turnstile token is single-use, so get a fresh one after a failed attempt.
useEffect(() => {
if (state.status === "error") window.turnstile?.reset();
}, [state]);
if (state.status === "sent") {
return (
<div className="contact-form form-sent" role="status">
<svg className="sent-mark" viewBox="0 0 48 48" aria-hidden="true">
<circle cx="24" cy="24" r="23" />
<path d="M14 24.5l7 7 13-14" />
</svg>
<h3 className="card-title">Your message was sent successfully.</h3>
<p className="copy">Thank you for reaching out. Our team will review what you shared and get back to you shortly.</p>
</div>
);
}
return (
<form className="contact-form" action={action}>
<div className="field-row">
<label className="field">
<span>Name</span>
<input name="name" autoComplete="name" required maxLength={120} />
</label>
<label className="field">
<span>Work email</span>
<input name="email" type="email" autoComplete="email" required maxLength={200} />
</label>
</div>
<div className="field-row">
<label className="field">
<span>Company</span>
<input name="company" autoComplete="organization" maxLength={160} />
</label>
<label className="field">
<span>Website</span>
<input name="website" type="url" inputMode="url" placeholder="https://" maxLength={300} />
</label>
</div>
{/* Honeypot for bots — hidden from people and assistive tech. */}
<input name="company_url" className="hp" tabIndex={-1} autoComplete="off" aria-hidden="true" />
<input ref={startedRef} type="hidden" name="started" />
<fieldset className="field">
<legend>What are you looking at?</legend>
<div className="chips">
{interests.map((i) => (
<label key={i} className="chip">
<input type="checkbox" name="interest" value={i} />
<span>{i}</span>
</label>
))}
</div>
</fieldset>
<label className="field">
<span>What’s happening in the business?</span>
<textarea name="message" rows={5} required maxLength={5000} />
</label>
{TURNSTILE_SITE_KEY && (
<>
<Script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer />
<div className="cf-turnstile" data-sitekey={TURNSTILE_SITE_KEY} data-theme="dark" data-size="flexible" />
</>
)}
<button type="submit" className="btn btn-solid" disabled={pending}>
{pending ? "Sending…" : "Send to the Team"} <span className="arrow">→</span>
</button>
<p className={`form-note${state.status === "error" ? " is-error" : ""}`} role="status">
{state.status === "error"
? `${state.message} You can also write to ${CONTACT_EMAIL}.`
: "A strategist reads every message and replies personally."}
</p>
</form>
);
}
+549
View File
@@ -0,0 +1,549 @@
import type { CSSProperties, ReactNode } from "react";
import Link from "next/link";
import GlobeCanvas from "@/components/globe-canvas";
import StatCounter from "@/components/stat-counter";
import RevealObserver from "@/components/reveal-observer";
import ContactForm from "./contact-form";
import type { Item, Page, Section } from "@/lib/pages";
import { SITE_URL, hrefFor } from "@/lib/routes";
type Vars = CSSProperties & Record<`--${string}`, string | number>;
const delay = (ms: number) => ({ "--d": `${ms}ms` }) as Vars;
const pad = (n: number) => String(n).padStart(2, "0");
export type Crumb = { name: string; href: string };
const Arrow = () => <span className="arrow">→</span>;
function Eyebrow({ index, children }: { index?: string; children: ReactNode }) {
return (
<p className="eyebrow">
{index && <span className="idx">{index}</span>}
{children}
</p>
);
}
/** "> " marks a sentence that was bold in the copy deck. */
function Para({ text, className }: { text: string; className?: string }) {
if (text.startsWith("> ")) return <p className="emph">{text.slice(2)}</p>;
return <p className={className}>{text}</p>;
}
function Paras({ items, firstClass }: { items: string[]; firstClass?: string }) {
return (
<>
{items.map((t, i) => (
<Para key={i} text={t} className={i === 0 ? firstClass : undefined} />
))}
</>
);
}
function CtaLinks({ ctas, path }: { ctas: string[]; path: string }) {
if (!ctas.length) return null;
return (
<div className="cta-row">
{ctas.map((c) => (
<Link key={c} href={hrefFor(c, path)} className="arrow-link">
{c} <Arrow />
</Link>
))}
</div>
);
}
function SectionHead({ section, index }: { section: Section; index: number }) {
const isFaq = section.kind === "faq";
const eyebrow = isFaq && !section.title ? null : section.eyebrow;
const title = section.title ?? (isFaq ? "Frequently Asked Questions" : null);
return (
<div className="section-head">
<div className="title" data-reveal>
{eyebrow && <Eyebrow index={pad(index)}>{eyebrow}</Eyebrow>}
{title && <h2 className="display h2">{title}</h2>}
</div>
</div>
);
}
function Intro({ section }: { section: Section }) {
const { intro } = section;
if (!intro.length) return null;
if (intro.length === 1) {
return (
<div className="split" data-reveal>
<div className="lead">
<Para text={intro[0]} />
</div>
<div />
</div>
);
}
return (
<div className="split">
<div className="lead" data-reveal>
<Para text={intro[0]} />
</div>
<div className="copy" data-reveal style={delay(140)}>
<Paras items={intro.slice(1)} firstClass="hl" />
</div>
</div>
);
}
function Outro({ section, path }: { section: Section; path: string }) {
if (!section.outro.length && !section.ctas.length) return null;
return (
<div className="outro" data-reveal>
{section.outro.length > 0 && (
<div className="outro-copy">
<Paras items={section.outro} />
</div>
)}
<CtaLinks ctas={section.ctas} path={path} />
</div>
);
}
function ItemList({ list }: { list: string[] }) {
if (!list.length) return null;
return (
<ul className="tick-list">
{list.map((l) => (
<li key={l}>{l}</li>
))}
</ul>
);
}
function columnsFor(items: Item[]) {
const n = items.length;
const avg = items.reduce((a, it) => a + it.body.join(" ").length, 0) / Math.max(n, 1);
if (n === 2 || (n === 4 && avg > 240)) return 2;
if (n === 4) return 4;
return 3;
}
/* ───────────── Section variants ───────────── */
function TextSection({ section, path }: { section: Section; path: string }) {
return (
<>
<Intro section={section} />
{section.ctas.length > 0 && (
<div className="split">
<div />
<div data-reveal>
<CtaLinks ctas={section.ctas} path={path} />
</div>
</div>
)}
</>
);
}
function CardsSection({ section, path }: { section: Section; path: string }) {
const cols = columnsFor(section.items);
return (
<>
<Intro section={section} />
<div className="card-grid" style={{ "--cols": cols } as Vars}>
{section.items.map((it, i) => (
<article key={it.title} className="card" data-reveal style={delay((i % cols) * 90)}>
<span className="card-num">{pad(i + 1)}</span>
<h3 className="card-title">{it.title}</h3>
{it.subtitle && <p className="card-sub">{it.subtitle}</p>}
{it.body.length > 0 && (
<div className="copy">
<Paras items={it.body} firstClass="hl" />
</div>
)}
<ItemList list={it.list} />
{it.cta && (
<Link href={hrefFor(it.cta, path)} className="arrow-link">
{it.cta} <Arrow />
</Link>
)}
</article>
))}
</div>
<Outro section={section} path={path} />
</>
);
}
function StepsSection({ section, path }: { section: Section; path: string }) {
return (
<>
<Intro section={section} />
<ol className="steps">
{section.items.map((it, i) => (
<li key={it.title} className="step" data-reveal style={delay(i * 70)}>
<span className="step-num">{it.num ?? pad(i + 1)}</span>
<h3 className="step-title">{it.title}</h3>
<div className="copy">
<Paras items={it.body} firstClass="hl" />
</div>
</li>
))}
</ol>
<Outro section={section} path={path} />
</>
);
}
function FaqSection({ section, path }: { section: Section; path: string }) {
return (
<>
<Intro section={section} />
<div className="faq">
{section.items.map((it, i) => (
<details key={it.title} className="faq-item" data-reveal style={delay(i * 50)} open={i === 0}>
<summary>
<span>{it.title}</span>
<i aria-hidden="true" />
</summary>
<div className="copy">
<Paras items={it.body} />
</div>
</details>
))}
</div>
<Outro section={section} path={path} />
</>
);
}
function LinksSection({ section, path }: { section: Section; path: string }) {
const cols = columnsFor(section.items);
return (
<>
<Intro section={section} />
<div className="card-grid link-grid" style={{ "--cols": cols } as Vars}>
{section.items.map((it, i) => (
<Link
key={it.title}
href={hrefFor(it.cta ?? "", path)}
className="card link-card"
data-reveal
style={delay((i % cols) * 90)}
>
<span className="card-num">{pad(i + 1)}</span>
<h3 className="card-title">{it.title}</h3>
<div className="copy">
<Paras items={it.body} firstClass="hl" />
</div>
<span className="arrow-link">
{it.cta} <Arrow />
</span>
</Link>
))}
</div>
<Outro section={section} path={path} />
</>
);
}
function StatsSection({ section, path }: { section: Section; path: string }) {
return (
<>
<Intro section={section} />
<div className="stats">
{section.items.map((it, i) => {
const m = it.title.match(/^([\d.,]+)(.*)$/);
const value = m ? Number(m[1].replace(/,/g, "")) : 0;
return (
<div key={it.title} className="stat" data-reveal style={delay(i * 120)}>
<StatCounter value={value} suffix={m ? m[2] : ""} />
<div className="stat-label">{it.subtitle}</div>
<div className="copy stat-copy">
<Paras items={it.body} />
</div>
</div>
);
})}
</div>
<Outro section={section} path={path} />
</>
);
}
function AddressLines({ text }: { text: string }) {
return (
<address className="office-address">
{text.split("\n").map((line) => {
const [label, ...rest] = line.split(":");
const value = rest.join(":").trim();
if (/^phone$/i.test(label.trim()) && value) {
return (
<span key={line}>
<em>Phone</em>
<a href={`tel:${value.replace(/[^\d+]/g, "")}`}>{value}</a>
</span>
);
}
if (/^email$/i.test(label.trim()) && value) {
return (
<span key={line}>
<em>Email</em>
<a href={`mailto:${value}`}>{value}</a>
</span>
);
}
return <span key={line}>{line}</span>;
})}
</address>
);
}
function OfficesSection({ section, path }: { section: Section; path: string }) {
return (
<>
<Intro section={section} />
<div className="offices">
{section.items.map((it, i) => {
const address = it.body.find((b) => b.includes("Phone:"));
const desc = it.body.filter((b) => b !== address);
return (
<article key={it.title} className="office" data-reveal style={delay(i * 100)}>
<div className="office-head">
<h3 className="card-title">{it.title}</h3>
{it.subtitle && <span className="pill">{it.subtitle}</span>}
</div>
<div className="copy">
<Paras items={desc} />
</div>
{address && <AddressLines text={address} />}
</article>
);
})}
</div>
<Outro section={section} path={path} />
</>
);
}
function ShowcaseSection({ section, path }: { section: Section; path: string }) {
return (
<>
<Intro section={section} />
<div className="showcase">
{section.items.map((it, i) => {
const [name, tagline] = (it.kicker ?? "").split("|").map((s) => s.trim());
return (
<article key={it.title} className="showcase-row" data-reveal>
<div className="showcase-name">
<span className="card-num">{pad(i + 1)}</span>
<h3>{name}</h3>
{tagline && <p className="card-sub">{tagline}</p>}
</div>
<div className="showcase-body">
<h4 className="display h3">{it.title}</h4>
<div className="copy">
<Paras items={it.body} firstClass="hl" />
</div>
{it.cta && (
<Link href={hrefFor(it.cta, path)} className="arrow-link">
{it.cta} <Arrow />
</Link>
)}
</div>
<ItemList list={it.list} />
</article>
);
})}
</div>
<Outro section={section} path={path} />
</>
);
}
function FormSection({ section, path }: { section: Section; path: string }) {
return (
<div className="form-layout">
<div className="form-copy">
<div className="lead" data-reveal>
<Para text={section.intro[0] ?? ""} />
</div>
<div className="copy" data-reveal style={delay(120)}>
<Paras items={section.intro.slice(1)} />
</div>
<CtaLinks ctas={section.ctas} path={path} />
</div>
<div data-reveal style={delay(200)}>
<ContactForm />
</div>
</div>
);
}
const variants: Record<string, (p: { section: Section; path: string }) => ReactNode> = {
text: TextSection,
cards: CardsSection,
steps: StepsSection,
faq: FaqSection,
links: LinksSection,
stats: StatsSection,
offices: OfficesSection,
showcase: ShowcaseSection,
};
/* ───────────── Hero & closing CTA ───────────── */
function PageHero({ page, crumbs }: { page: Page; crumbs: Crumb[] }) {
const { hero, path } = page;
const [name, tagline] = (hero.eyebrow ?? "").split("|").map((s) => s.trim());
return (
<section className="hero page-hero" aria-labelledby="page-title">
<GlobeCanvas />
<div className="wrap hero-inner">
<nav className="crumbs" aria-label="Breadcrumb" data-reveal>
{crumbs.map((c, i) =>
i < crumbs.length - 1 ? (
<span key={c.href}>
<Link href={c.href}>{c.name}</Link>
<i aria-hidden="true">/</i>
</span>
) : (
<span key={c.href} aria-current="page">
{c.name}
</span>
),
)}
</nav>
<div data-reveal style={delay(60)}>
<Eyebrow>
{tagline ? (
<>
<span className="idx">{name}</span> {tagline}
</>
) : (
name
)}
</Eyebrow>
</div>
<h1 id="page-title" className="display h1" data-reveal style={delay(120)}>
{hero.title}
</h1>
<div className="hero-grid">
<div className="hero-lead lead" data-reveal style={delay(240)}>
<Para text={hero.intro[0] ?? ""} />
</div>
<div className="hero-body" data-reveal style={delay(340)}>
{hero.intro.length > 1 && (
<div className="copy">
<Paras items={hero.intro.slice(1)} />
</div>
)}
<div className="hero-actions">
{hero.ctas.map((c, i) => (
<Link key={c} href={hrefFor(c, path)} className={`btn ${i === 0 ? "btn-solid" : "btn-ghost"}`}>
{c} <Arrow />
</Link>
))}
</div>
</div>
</div>
</div>
</section>
);
}
function ClosingCta({ section, path }: { section: Section; path: string }) {
const [lead, ...rest] = section.intro;
return (
<section className="cta" aria-label={section.title ?? undefined}>
<GlobeCanvas layout="center" />
<div className="wrap">
{section.eyebrow && (
<div data-reveal>
<Eyebrow>{section.eyebrow}</Eyebrow>
</div>
)}
<h2 className="display h2" data-reveal style={delay(120)}>
{section.title}
</h2>
{lead && (
<div className="copy" data-reveal style={delay(240)}>
<Paras items={[lead, ...rest]} />
</div>
)}
{section.ctas.length > 0 && (
<div data-reveal style={delay(360)}>
{section.ctas.map((c) => (
<Link key={c} href={hrefFor(c, path)} className="btn btn-solid">
{c} <Arrow />
</Link>
))}
</div>
)}
</div>
</section>
);
}
/* ───────────── Structured data ───────────── */
function JsonLd({ page, crumbs }: { page: Page; crumbs: Crumb[] }) {
const faqs = page.sections.filter((s) => s.kind === "faq").flatMap((s) => s.items);
const graph: object[] = [
{
"@type": "BreadcrumbList",
itemListElement: crumbs.map((c, i) => ({
"@type": "ListItem",
position: i + 1,
name: c.name,
item: SITE_URL + (c.href === "/" ? "" : c.href),
})),
},
];
if (faqs.length) {
graph.push({
"@type": "FAQPage",
mainEntity: faqs.map((f) => ({
"@type": "Question",
name: f.title,
acceptedAnswer: { "@type": "Answer", text: f.body.join(" ") },
})),
});
}
const json = JSON.stringify({ "@context": "https://schema.org", "@graph": graph }).replace(/</g, "\\u003c");
return <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: json }} />;
}
/* ───────────── Page ───────────── */
export default function ContentPage({ page, crumbs }: { page: Page; crumbs: Crumb[] }) {
const last = page.sections[page.sections.length - 1];
const closing = last && last.kind === "text" && last.ctas.length > 0 ? last : null;
const body = closing ? page.sections.slice(0, -1) : page.sections;
return (
<>
<JsonLd page={page} crumbs={crumbs} />
<PageHero page={page} crumbs={crumbs} />
{body.map((section, i) => {
const Variant = variants[section.kind] ?? TextSection;
return (
<section
key={i}
id={section.form ? "contact-form" : undefined}
className={`section${i % 2 === 0 ? " section-night" : ""} kind-${section.kind}`}
>
<div className="wrap">
<SectionHead section={section} index={i + 1} />
{section.form ? (
<FormSection section={section} path={page.path} />
) : (
<Variant section={section} path={page.path} />
)}
</div>
</section>
);
})}
{closing && <ClosingCta section={closing} path={page.path} />}
<RevealObserver />
</>
);
}
+270
View File
@@ -0,0 +1,270 @@
"use client";
import { useEffect, useRef } from "react";
type Vec = [number, number, number];
// Market hubs (lat, lon) the arcs travel between.
const HUBS: [number, number][] = [
[40.7, -74.0], // New York
[25.8, -80.2], // Miami
[18.5, -69.9], // Santo Domingo
[19.4, -99.1], // Mexico City
[4.7, -74.1], // Bogotá
[40.4, -3.7], // Madrid
[51.5, -0.1], // London
];
const ROUTES: [number, number][] = [
[0, 6],
[1, 2],
[2, 4],
[3, 1],
[5, 2],
[6, 5],
[0, 3],
[4, 5],
];
function fromLatLon(lat: number, lon: number): Vec {
const phi = (lat * Math.PI) / 180;
const theta = (lon * Math.PI) / 180;
return [Math.cos(phi) * Math.sin(theta), Math.sin(phi), Math.cos(phi) * Math.cos(theta)];
}
function slerp(a: Vec, b: Vec, t: number): Vec {
const dot = Math.min(1, Math.max(-1, a[0] * b[0] + a[1] * b[1] + a[2] * b[2]));
const omega = Math.acos(dot);
if (omega < 1e-4) return a;
const s = Math.sin(omega);
const k1 = Math.sin((1 - t) * omega) / s;
const k2 = Math.sin(t * omega) / s;
return [a[0] * k1 + b[0] * k2, a[1] * k1 + b[1] * k2, a[2] * k1 + b[2] * k2];
}
type Props = {
/** "hero" sits the globe to the right; "center" centres it behind content. */
layout?: "hero" | "center";
className?: string;
};
export default function GlobeCanvas({ layout = "hero", className = "hero-canvas" }: Props) {
const ref = useRef<HTMLCanvasElement>(null);
useEffect(() => {
const canvas = ref.current;
if (!canvas) return;
const ctx = canvas.getContext("2d");
if (!ctx) return;
const reduced = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
// Fibonacci sphere
const COUNT = 1500;
const points: Vec[] = [];
const golden = Math.PI * (3 - Math.sqrt(5));
for (let i = 0; i < COUNT; i++) {
const y = 1 - (i / (COUNT - 1)) * 2;
const r = Math.sqrt(1 - y * y);
const th = golden * i;
points.push([Math.cos(th) * r, y, Math.sin(th) * r]);
}
const hubs = HUBS.map(([la, lo]) => fromLatLon(la, lo));
const arcs = ROUTES.map(([a, b], i) => {
const steps = 64;
const pts: Vec[] = [];
for (let s = 0; s <= steps; s++) {
const t = s / steps;
const p = slerp(hubs[a], hubs[b], t);
const lift = 1 + Math.sin(Math.PI * t) * 0.22;
pts.push([p[0] * lift, p[1] * lift, p[2] * lift]);
}
return { pts, offset: i * 0.37, speed: 0.11 + (i % 3) * 0.03 };
});
let w = 0;
let h = 0;
let dpr = 1;
let cx = 0;
let cy = 0;
let R = 0;
const resize = () => {
dpr = Math.min(window.devicePixelRatio || 1, 2);
const rect = canvas.getBoundingClientRect();
w = rect.width;
h = rect.height;
canvas.width = Math.round(w * dpr);
canvas.height = Math.round(h * dpr);
ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
const mobile = w < 768;
// Size against the viewport, not the (possibly taller) section.
const vh = Math.min(h, window.innerHeight);
if (layout === "center") {
cx = w / 2;
cy = h / 2;
R = Math.min(w, vh) * (mobile ? 0.48 : 0.4);
} else if (mobile) {
cx = w * 0.66;
cy = vh * 0.3;
R = w * 0.6;
} else {
cx = w * 0.72;
cy = vh * 0.54;
R = Math.min(vh * 0.4, w * 0.27);
}
};
let rotY = -1.25; // start facing the Americas, drifting toward Europe
const tiltX = 0.42;
let mx = 0;
let my = 0;
let tx = 0;
let ty = 0;
const project = (v: Vec, ry: number, rx: number) => {
const cosY = Math.cos(ry);
const sinY = Math.sin(ry);
const x1 = v[0] * cosY - v[2] * sinY;
const z1 = v[0] * sinY + v[2] * cosY;
const cosX = Math.cos(rx);
const sinX = Math.sin(rx);
const y2 = v[1] * cosX - z1 * sinX;
const z2 = v[1] * sinX + z1 * cosX;
const persp = 3.2 / (3.2 - z2);
return { x: cx + x1 * R * persp, y: cy - y2 * R * persp, z: z2, s: persp };
};
let last = performance.now();
let elapsed = 0;
let raf = 0;
let running = true;
const draw = (now: number) => {
const dt = Math.min(0.05, (now - last) / 1000);
last = now;
if (!reduced) {
elapsed += dt;
rotY += dt * 0.06;
}
mx += (tx - mx) * 0.04;
my += (ty - my) * 0.04;
const ry = rotY + mx * 0.25;
const rx = tiltX + my * 0.12;
ctx.clearRect(0, 0, w, h);
// soft halo
const halo = ctx.createRadialGradient(cx, cy, R * 0.7, cx, cy, R * 1.45);
halo.addColorStop(0, "rgba(255,255,255,0.045)");
halo.addColorStop(1, "rgba(255,255,255,0)");
ctx.fillStyle = halo;
ctx.fillRect(0, 0, w, h);
// outline
ctx.beginPath();
ctx.arc(cx, cy, R * 1.0, 0, Math.PI * 2);
ctx.strokeStyle = "rgba(255,255,255,0.08)";
ctx.lineWidth = 1;
ctx.stroke();
// dots
for (let i = 0; i < points.length; i++) {
const p = project(points[i], ry, rx);
const front = p.z > 0;
const a = front ? 0.18 + p.z * 0.62 : 0.05 + (1 + p.z) * 0.05;
const size = (front ? 1.15 : 0.8) * p.s;
ctx.fillStyle = `rgba(255,255,255,${a.toFixed(3)})`;
ctx.fillRect(p.x - size / 2, p.y - size / 2, size, size);
}
// arcs
for (const arc of arcs) {
const proj = arc.pts.map((v) => project(v, ry, rx));
ctx.lineWidth = 1;
for (let s = 1; s < proj.length; s++) {
const a = proj[s - 1];
const b = proj[s];
const vis = (a.z + b.z) / 2;
if (vis < -0.15) continue;
ctx.strokeStyle = `rgba(255,255,255,${(0.08 + Math.max(0, vis) * 0.22).toFixed(3)})`;
ctx.beginPath();
ctx.moveTo(a.x, a.y);
ctx.lineTo(b.x, b.y);
ctx.stroke();
}
// traveling pulse
const t = ((elapsed * arc.speed + arc.offset) % 1) * (proj.length - 1);
const head = Math.floor(t);
const tail = Math.max(0, head - 10);
for (let s = tail + 1; s <= head; s++) {
const a = proj[s - 1];
const b = proj[s];
if ((a.z + b.z) / 2 < -0.1) continue;
const k = (s - tail) / (head - tail || 1);
ctx.strokeStyle = `rgba(218,41,28,${(k * 0.95).toFixed(3)})`;
ctx.lineWidth = 1.6;
ctx.beginPath();
ctx.moveTo(a.x, a.y);
ctx.lineTo(b.x, b.y);
ctx.stroke();
}
}
// hubs
for (let i = 0; i < hubs.length; i++) {
const p = project(hubs[i], ry, rx);
if (p.z < 0) continue;
const pulse = (elapsed * 0.6 + i * 0.21) % 1;
ctx.strokeStyle = `rgba(218,41,28,${((1 - pulse) * 0.8 * p.z).toFixed(3)})`;
ctx.lineWidth = 1;
ctx.beginPath();
ctx.arc(p.x, p.y, 3 + pulse * 14, 0, Math.PI * 2);
ctx.stroke();
ctx.fillStyle = `rgba(255,255,255,${(0.4 + p.z * 0.6).toFixed(3)})`;
ctx.fillRect(p.x - 2.5, p.y - 2.5, 5, 5);
}
if (running && !reduced) raf = requestAnimationFrame(draw);
};
const onMove = (e: PointerEvent) => {
tx = (e.clientX / window.innerWidth) * 2 - 1;
ty = (e.clientY / window.innerHeight) * 2 - 1;
};
resize();
const ro = new ResizeObserver(() => {
resize();
if (reduced) draw(performance.now());
});
ro.observe(canvas);
const io = new IntersectionObserver(([entry]) => {
const visible = entry.isIntersecting;
if (visible && !running) {
running = true;
last = performance.now();
raf = requestAnimationFrame(draw);
} else if (!visible) {
running = false;
cancelAnimationFrame(raf);
}
});
io.observe(canvas);
window.addEventListener("pointermove", onMove, { passive: true });
raf = requestAnimationFrame(draw);
return () => {
running = false;
cancelAnimationFrame(raf);
ro.disconnect();
io.disconnect();
window.removeEventListener("pointermove", onMove);
};
}, [layout]);
return <canvas ref={ref} className={className} aria-hidden="true" />;
}
+22
View File
@@ -0,0 +1,22 @@
import Link from "next/link";
import Image from "next/image";
export default function Logo() {
return (
<Link href="/" className="logo" aria-label="AI Growth Technologies — home">
<Image className="logo-mark" src="/logo-mark.png" alt="" width={229} height={192} priority />
<span className="logo-type">
<b>AI GROWTH</b>
<span>TECHNOLOGIES</span>
</span>
</Link>
);
}
export function LogoStacked() {
return (
<Link href="/" className="logo-stacked" aria-label="AI Growth Technologies — home">
<Image src="/logo-stacked.png" alt="AI Growth Technologies" width={480} height={547} />
</Link>
);
}
+186
View File
@@ -0,0 +1,186 @@
import type { CSSProperties } from "react";
type Vars = CSSProperties & Record<`--${string}`, string>;
const W = 600;
const H = 412;
/* Atrilyx — many touchpoints converging on one conversion */
function JourneyViz() {
const sources = ["Ad", "Search", "Page", "Brand", "AI Answer", "Social"];
const gx = 500;
const gy = H / 2;
const top = 70;
const gap = (H - top * 2) / (sources.length - 1);
return (
<svg className="viz viz-journey" viewBox={`0 0 ${W} ${H}`} aria-hidden="true">
{[180, 280, 380].map((x) => (
<line key={x} x1={x} y1={28} x2={x} y2={H - 28} stroke="rgba(255,255,255,0.05)" />
))}
{sources.map((s, i) => {
const y = top + i * gap;
const d = `M92 ${y} C 290 ${y}, 300 ${gy}, ${gx} ${gy}`;
return (
<g key={s}>
<path className="path" d={d} />
<path className={`flow${i === 4 ? " red" : ""}`} d={d} style={{ "--t": `${-i * 0.8}s` } as Vars} />
<rect className="node" x={86} y={y - 6} width={12} height={12} />
<text x={74} y={y + 3} textAnchor="end">
{s.toUpperCase()}
</text>
</g>
);
})}
<rect className="goal-ring" x={gx - 7} y={gy - 7} width={14} height={14} />
<rect className="goal" x={gx - 7} y={gy - 7} width={14} height={14} />
<text x={gx + 18} y={gy + 3}>
CONVERSION
</text>
<text className="faint" x={24} y={H - 20}>
TOUCHPOINTS → WEIGHTED CONTRIBUTION
</text>
</svg>
);
}
/* meSEO — search + AI surfaces on a radar */
function RadarViz() {
const cx = 300;
const cy = 206;
const dots = [
{ a: 18, r: 150, label: "SEARCH" },
{ a: 64, r: 92, label: "AI OVERVIEWS" },
{ a: 118, r: 170, label: "CHATGPT" },
{ a: 162, r: 64, label: "" },
{ a: 205, r: 128, label: "GEMINI" },
{ a: 248, r: 178, label: "" },
{ a: 292, r: 110, label: "PERPLEXITY", red: true },
{ a: 334, r: 60, label: "" },
{ a: 86, r: 190, label: "" },
{ a: 228, r: 40, label: "" },
];
const rad = (deg: number) => (deg * Math.PI) / 180;
const sweepR = 240;
const trail = 46;
const ex = cx + Math.cos(rad(-trail)) * sweepR;
const ey = cy + Math.sin(rad(-trail)) * sweepR;
return (
<svg className="viz viz-radar" viewBox={`0 0 ${W} ${H}`} aria-hidden="true">
<defs>
<linearGradient id="sweepGrad" x1="0" y1="1" x2="0.4" y2="0">
<stop offset="0" stopColor="#fff" stopOpacity="0.16" />
<stop offset="1" stopColor="#fff" stopOpacity="0" />
</linearGradient>
</defs>
{[50, 100, 150, 200].map((r) => (
<circle key={r} className="ring" cx={cx} cy={cy} r={r} />
))}
{[0, 45, 90, 135].map((a) => (
<line
key={a}
className="axis"
x1={cx - Math.cos(rad(a)) * 220}
y1={cy - Math.sin(rad(a)) * 220}
x2={cx + Math.cos(rad(a)) * 220}
y2={cy + Math.sin(rad(a)) * 220}
/>
))}
<g className="sweep">
<path d={`M${cx} ${cy} L${cx + sweepR} ${cy} A${sweepR} ${sweepR} 0 0 0 ${ex} ${ey} Z`} fill="url(#sweepGrad)" />
<line x1={cx} y1={cy} x2={cx + sweepR} y2={cy} stroke="rgba(255,255,255,0.6)" />
</g>
{dots.map((d, i) => {
const x = cx + Math.cos(rad(d.a)) * d.r;
const y = cy + Math.sin(rad(d.a)) * d.r;
return (
<g key={i}>
<rect
className={`dot${d.red ? " red" : ""}`}
x={x - 3}
y={y - 3}
width={6}
height={6}
style={{ "--t": `${((d.a / 360) * 7).toFixed(2)}s` } as Vars}
/>
{d.label && (
<text x={x + 10} y={y + 3}>
{d.label}
</text>
)}
</g>
);
})}
<rect x={cx - 3} y={cy - 3} width={6} height={6} fill="#fff" />
<text className="faint" x={24} y={H - 20}>
VISIBILITY SURFACE — SEARCH + GENERATIVE
</text>
</svg>
);
}
/* Korrith — monitored infrastructure grid with a scanning pass */
function GridViz() {
const cols = 14;
const rows = 8;
const size = 28;
const gap = 8;
const ox = (W - (cols * (size + gap) - gap)) / 2;
const oy = 52;
const cells = [];
for (let r = 0; r < rows; r++) {
for (let c = 0; c < cols; c++) {
const x = ox + c * (size + gap);
const y = oy + r * (size + gap);
const on = (r * 37 + c * 17) % 7 === 0;
const alert = r === 3 && c === 9;
const delay = (((y + 80) / 520) * 4.8 - 2.4).toFixed(2);
cells.push(
<rect
key={`${r}-${c}`}
className={`cell${on || alert ? " on" : ""}${alert ? " alert" : ""}`}
x={x}
y={y}
width={size}
height={size}
style={on || alert ? ({ "--t": `${delay}s` } as Vars) : undefined}
/>,
);
}
}
const bx = ox - 14;
const by = oy - 14;
const bw = cols * (size + gap) - gap + 28;
const bh = rows * (size + gap) - gap + 28;
const k = 16;
return (
<svg className="viz viz-grid" viewBox={`0 0 ${W} ${H}`} aria-hidden="true">
<defs>
<linearGradient id="scanGrad" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stopColor="#fff" stopOpacity="0" />
<stop offset="0.85" stopColor="#fff" stopOpacity="0.05" />
<stop offset="1" stopColor="#fff" stopOpacity="0.28" />
</linearGradient>
</defs>
{cells}
<path
className="frame"
d={`M${bx} ${by + k}V${by}H${bx + k} M${bx + bw - k} ${by}H${bx + bw}V${by + k} M${bx + bw} ${by + bh - k}V${by + bh}H${bx + bw - k} M${bx + k} ${by + bh}H${bx}V${by + bh - k}`}
/>
<g className="scan">
<rect x={0} y={0} width={W} height={64} fill="url(#scanGrad)" />
</g>
<text className="faint" x={24} y={H - 20}>
RESILIENCE LAYER — CONTINUOUS MONITORING
</text>
</svg>
);
}
export default function ProductVisual({ kind }: { kind: "journey" | "radar" | "grid" }) {
if (kind === "journey") return <JourneyViz />;
if (kind === "radar") return <RadarViz />;
return <GridViz />;
}
+57
View File
@@ -0,0 +1,57 @@
"use client";
import { useEffect, useState } from "react";
// The kinds of questions the copy describes people now asking AI platforms.
const QUERIES = [
"Which companies should I consider?",
"How do these products compare?",
"What should I buy?",
"Who should I trust?",
];
export default function QueryTicker() {
const [text, setText] = useState(QUERIES[0]);
useEffect(() => {
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
let q = 0;
let i = QUERIES[0].length;
let deleting = true;
let timer: ReturnType<typeof setTimeout>;
const step = () => {
const target = QUERIES[q];
if (deleting) {
i--;
setText(target.slice(0, i));
if (i <= 0) {
deleting = false;
q = (q + 1) % QUERIES.length;
}
timer = setTimeout(step, 28);
} else {
const next = QUERIES[q];
i++;
setText(next.slice(0, i));
if (i >= next.length) {
deleting = true;
timer = setTimeout(step, 2600);
} else {
timer = setTimeout(step, 55 + Math.random() * 45);
}
}
};
timer = setTimeout(step, 2600);
return () => clearTimeout(timer);
}, []);
return (
<p className="query" aria-label={QUERIES.join(" ")}>
<span aria-hidden="true">{text}</span>
<span className="caret" aria-hidden="true" />
</p>
);
}
+50
View File
@@ -0,0 +1,50 @@
"use client";
import { useEffect } from "react";
const SELECTOR = "[data-reveal], [data-reveal-group]";
/**
* Marks `[data-reveal]` / `[data-reveal-group]` elements with `data-in` as they scroll into view.
* Render it as the last child of a page: its effect then runs only after the page's markup has
* hydrated, so touching those elements can't cause a hydration mismatch.
*/
export default function RevealObserver() {
useEffect(() => {
const io = new IntersectionObserver(
(entries) => {
for (const entry of entries) {
if (entry.isIntersecting) {
(entry.target as HTMLElement).dataset.in = "";
io.unobserve(entry.target);
}
}
},
{ rootMargin: "0px 0px -12% 0px", threshold: 0.12 },
);
const watch = (root: ParentNode) =>
root.querySelectorAll<HTMLElement>(SELECTOR).forEach((el) => {
if (!("in" in el.dataset)) io.observe(el);
});
watch(document);
const mo = new MutationObserver((records) => {
for (const r of records) {
r.addedNodes.forEach((n) => {
if (n instanceof HTMLElement) {
if (n.matches(SELECTOR) && !("in" in n.dataset)) io.observe(n);
watch(n);
}
});
}
});
mo.observe(document.body, { childList: true, subtree: true });
return () => {
io.disconnect();
mo.disconnect();
};
}, []);
return null;
}
+97
View File
@@ -0,0 +1,97 @@
import Link from "next/link";
import { LogoStacked } from "./logo";
import { industryNav, serviceNav } from "@/lib/routes";
// The profiles linked from the current aigrowthtechnologies.com footer.
const socials = [
{
label: "Instagram",
href: "https://www.instagram.com/aigrowthmediaservice/",
icon: (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4">
<rect x="3" y="3" width="18" height="18" rx="5" />
<circle cx="12" cy="12" r="4" />
<path d="M17.5 6.5v.01" />
</svg>
),
},
{
label: "Facebook",
href: "https://www.facebook.com/growth360partners",
icon: (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4">
<path d="M14 8h3V4h-3a4 4 0 0 0-4 4v3H7v4h3v6h4v-6h3l1-4h-4V8z" />
</svg>
),
},
{
label: "LinkedIn",
href: "https://www.linkedin.com/company/growth360partners",
icon: (
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.4">
<rect x="3" y="3" width="18" height="18" />
<path d="M8 10v7M8 7v.01M12 17v-4a2 2 0 0 1 4 0v4M12 10v7" />
</svg>
),
},
];
const columns = [
{ title: "Services", links: serviceNav.map((s) => ({ label: s.name, href: `/services/${s.slug}` })) },
{ title: "Industries", links: industryNav.map((s) => ({ label: s.name, href: `/industries/${s.slug}` })) },
{
title: "Company",
links: [
{ label: "About", href: "/about" },
{ label: "All Services", href: "/services" },
{ label: "All Industries", href: "/industries" },
{ label: "Contact", href: "/contact" },
],
},
];
export default function SiteFooter() {
return (
<footer className="footer">
<div className="wrap">
<div className="footer-top">
<div className="footer-brand">
<LogoStacked />
<p>
Paid media, SEO, AI visibility, web, attribution, and technology — connected into one accountable digital
growth system.
</p>
<div className="socials">
{socials.map((s) => (
<a key={s.label} href={s.href} aria-label={s.label} target="_blank" rel="noopener noreferrer">
{s.icon}
</a>
))}
</div>
</div>
<div className="footer-cols">
{columns.map((col) => (
<div key={col.title}>
<h4>{col.title}</h4>
<ul>
{col.links.map((l) => (
<li key={l.href}>
<Link href={l.href}>{l.label}</Link>
</li>
))}
</ul>
</div>
))}
</div>
</div>
<p className="footer-word" aria-hidden="true">
AI Growth Technologies
</p>
<div className="footer-bottom">
<span>© 2026 AI Growth Technologies. All rights reserved.</span>
<span>Dubai · Houston · Miami · New York</span>
</div>
</div>
</footer>
);
}
+131
View File
@@ -0,0 +1,131 @@
"use client";
import Link from "next/link";
import { usePathname } from "next/navigation";
import { useEffect, useState } from "react";
import Logo from "./logo";
import { mainNav } from "@/lib/routes";
export default function SiteHeader() {
const pathname = usePathname();
const [scrolled, setScrolled] = useState(false);
const [hidden, setHidden] = useState(false);
const [open, setOpen] = useState(false);
const [menuPath, setMenuPath] = useState(pathname);
// Close the mobile menu whenever the route changes.
if (menuPath !== pathname) {
setMenuPath(pathname);
setOpen(false);
}
// Drop focus left on a nav link after navigating so its dropdown doesn't stay pinned open.
useEffect(() => {
const el = document.activeElement;
if (el instanceof HTMLElement && el.closest(".site-header")) el.blur();
}, [pathname]);
useEffect(() => {
let lastY = window.scrollY;
const onScroll = () => {
const y = window.scrollY;
setScrolled(y > 24);
setHidden(y > 480 && y > lastY + 4);
if (y < lastY - 4 || y < 480) setHidden(false);
lastY = y;
};
onScroll();
window.addEventListener("scroll", onScroll, { passive: true });
return () => window.removeEventListener("scroll", onScroll);
}, []);
useEffect(() => {
document.body.style.overflow = open ? "hidden" : "";
const onKey = (e: KeyboardEvent) => e.key === "Escape" && setOpen(false);
window.addEventListener("keydown", onKey);
return () => window.removeEventListener("keydown", onKey);
}, [open]);
const isActive = (href: string) => pathname === href || pathname.startsWith(href + "/");
const classes = ["site-header", scrolled || open ? "is-scrolled" : "", hidden && !open ? "is-hidden" : ""]
.filter(Boolean)
.join(" ");
return (
<>
<header className={classes}>
<div className="wrap bar">
<Logo />
<nav className="nav" aria-label="Primary">
{mainNav.map((l) =>
l.children ? (
<div key={l.href} className="nav-group">
<Link href={l.href} className={isActive(l.href) ? "is-active" : undefined}>
{l.label}
</Link>
<div className="nav-panel">
<div className="nav-panel-inner">
<Link href={l.href} className="nav-panel-all">
All {l.label} <span aria-hidden="true">→</span>
</Link>
<ul>
{l.children.map((c) => (
<li key={c.href}>
<Link href={c.href} className={pathname === c.href ? "is-active" : undefined}>
{c.label}
</Link>
</li>
))}
</ul>
</div>
</div>
</div>
) : (
<Link key={l.href} href={l.href} className={isActive(l.href) ? "is-active" : undefined}>
{l.label}
</Link>
),
)}
</nav>
<Link href="/contact" className="btn btn-solid header-cta">
Book a Strategy Call <span className="arrow">→</span>
</Link>
<button
type="button"
className="menu-toggle"
aria-expanded={open}
aria-controls="mobile-menu"
aria-label={open ? "Close menu" : "Open menu"}
onClick={() => setOpen((v) => !v)}
>
<span />
<span />
</button>
</div>
</header>
<div id="mobile-menu" className={`mobile-menu${open ? " is-open" : ""}`} aria-hidden={!open} inert={!open}>
<ul>
{mainNav.map((l) => (
<li key={l.href}>
<Link href={l.href}>
{l.label} <span aria-hidden="true">→</span>
</Link>
{l.children && (
<div className="mobile-sub">
{l.children.map((c) => (
<Link key={c.href} href={c.href}>
{c.label}
</Link>
))}
</div>
)}
</li>
))}
</ul>
<Link href="/contact" className="btn btn-solid">
Book a Strategy Call <span className="arrow">→</span>
</Link>
</div>
</>
);
}
+53
View File
@@ -0,0 +1,53 @@
"use client";
import { useEffect, useRef } from "react";
export default function StatCounter({ value, suffix }: { value: number; suffix: string }) {
const ref = useRef<HTMLSpanElement>(null);
const numRef = useRef<HTMLSpanElement>(null);
useEffect(() => {
const el = ref.current;
const num = numRef.current;
if (!el || !num) return;
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
let raf = 0;
num.textContent = "0";
const io = new IntersectionObserver(
([entry]) => {
if (!entry.isIntersecting) return;
io.disconnect();
const start = performance.now();
const duration = 1800;
const tick = (now: number) => {
const t = Math.min(1, (now - start) / duration);
const eased = 1 - Math.pow(1 - t, 4);
num.textContent = String(Math.round(eased * value));
if (t < 1) raf = requestAnimationFrame(tick);
};
raf = requestAnimationFrame(tick);
},
{ threshold: 0.4 },
);
io.observe(el);
return () => {
io.disconnect();
cancelAnimationFrame(raf);
num.textContent = String(value);
};
}, [value]);
return (
<span ref={ref} className="stat-value">
<span ref={numRef} aria-hidden="true">
{value}
</span>
<span className="sr-only">
{value}
{suffix}
</span>
{suffix && <small aria-hidden="true">{suffix}</small>}
</span>
);
}
+134
View File
@@ -0,0 +1,134 @@
export const stats = [
{ value: 120, suffix: "%", label: "Average ROI Increase" },
{ value: 7, suffix: "", label: "Global Markets" },
{ value: 24, suffix: "", label: "Specialized Channels" },
{ value: 99, suffix: "%", label: "Platform Uptime" },
];
export type Capability = {
name: string;
headline: string;
body: string[];
cta: string;
};
export const capabilities: Capability[] = [
{
name: "Paid Media",
headline: "Make Every Dollar Work Harder.",
body: [
"Plan and manage campaigns across Google, Meta, and other relevant platforms around qualified demand, conversion, and measurable return.",
],
cta: "Explore Paid Media",
},
{
name: "SEO",
headline: "Be There When Someone Goes Looking.",
body: [
"Connect technical SEO, content, authority, and search intent to strengthen organic visibility where it can influence real business decisions.",
],
cta: "Explore SEO",
},
{
name: "LLMO & AI Visibility",
headline: "Be Part of the Answer.",
body: [
"People are asking ChatGPT, Gemini, AI Overviews, Perplexity, and other generative platforms questions they once took straight to search.",
"We help brands become easier for these systems to understand, retrieve, reference, and surface.",
],
cta: "Explore LLMO & AI",
},
{
name: "Web Development",
headline: "Give the Click Somewhere Worth Landing.",
body: [
"Create fast, scalable digital experiences around the people using them, the actions you want them to take, and the marketing bringing them there.",
],
cta: "Explore Web Development",
},
{
name: "Social Media",
headline: "Stay Relevant Between Searches.",
body: [
"Build familiarity, stay part of relevant conversations, and give people another reason to remember the brand when they are ready to act.",
],
cta: "Explore Social Media",
},
{
name: "Cybersecurity",
headline: "Protect What Growth Depends On.",
body: [
"Strengthen the systems, access, monitoring, and digital infrastructure supporting the business as it grows.",
],
cta: "Explore Cybersecurity",
},
{
name: "Brand",
headline: "Give People Something to Remember.",
body: [
"Bring positioning, messaging, identity, and design together so the company feels like the same brand wherever people find it.",
],
cta: "Explore Brand",
},
{
name: "Consulting",
headline: "Some Problems Don’t Belong to One Channel.",
body: [
"Sometimes traffic is not the problem.",
"Sometimes it is the offer. The website. The measurement. Or several good ideas that simply are not working well together.",
"We look across the wider system to find what actually deserves attention.",
],
cta: "Explore Consulting",
},
];
export const products = [
{
name: "Atrilyx",
kind: "Media & Attribution Engine",
headline: "Follow the Journey, Not Just the Last Click.",
body: [
"A unified media and attribution engine built to connect signals across the customer journey and give a clearer view of what helped move someone toward conversion.",
],
cta: "Explore Atrilyx",
visual: "journey",
},
{
name: "meSEO",
kind: "Search & AI Visibility",
headline: "Search Has a New Surface Area.",
body: [
"Organic visibility no longer stops at the traditional results page.",
"meSEO brings search and emerging AI visibility into a more connected view, helping brands understand where they appear, where they do not, and where the next opportunity may be.",
],
cta: "Explore meSEO",
visual: "radar",
},
{
name: "Korrith",
kind: "Security & Resilience",
headline: "Keep the Digital Foundation Strong.",
body: [
"A security and resilience layer built around the systems businesses increasingly depend on as they grow.",
],
cta: "Explore Korrith",
visual: "grid",
},
] as const;
export const journeySteps = [
{ channel: "Paid Media", label: "A customer sees an ad." },
{ channel: "Search", label: "A week later, they search your name." },
{ channel: "Website", label: "They read a page." },
{ channel: "Brand", label: "They encounter the brand again." },
{ channel: "AI Platform", label: "Maybe they ask an AI platform about your category." },
{ channel: "Direct", label: "Then they come back directly and convert." },
];
export const gaps = [
"You can have strong SEO and a website that loses the visitor.",
"Great ads and weak attribution.",
"A memorable brand nobody can find.",
"Plenty of data and no clear idea what to do with it.",
"Or an AI strategy sitting in a presentation while the rest of the business keeps working exactly as it did before.",
];
+477
View File
@@ -0,0 +1,477 @@
{
"slug": "about",
"path": "/about",
"meta": {
"title": "About AI Growth Technologies | Digital Growth Architects",
"description": "Meet AI Growth Technologies, where strategy, media, search, AI, technology, and data come together to build connected digital growth."
},
"hero": {
"eyebrow": "BUILT FOR HOW GROWTH WORKS NOW",
"title": "We Built the Company Modern Growth Requires.",
"intro": [
"Customers move between search, AI, social, ads, websites, and recommendations without thinking about channels.",
"Yet much of digital marketing is still managed one channel at a time.",
"AI Growth Technologies was built around a different idea: bring the specialists, technology, and data together so the business gets one connected view of growth."
],
"items": [],
"outro": [],
"ctas": [
"DISCOVER AI GROWTH"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "OUR STORY",
"title": "The Internet Changed. We Changed With It.",
"intro": [
"Search became more complex. Media spread across more platforms. Customer journeys became harder to trace. AI created an entirely new layer of discovery.",
"We saw those changes as connected.",
"So we built the company that way too."
],
"items": [
{
"kicker": null,
"title": "One Customer. Many Touchpoints.",
"subtitle": null,
"body": [
"Someone can discover a brand through an ad, search for it later, ask AI about the category, visit the website, leave, and return days later.",
"We care about the whole path, not which channel gets to claim the win."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Specialists Who Actually Work Together.",
"subtitle": null,
"body": [
"Search informs media. Media reveals messaging. Social surfaces customer questions. Website behavior exposes friction. Data connects the signals.",
"Each discipline gets stronger when the others are in the room."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Technology Built Into the Model.",
"subtitle": null,
"body": [
"We did not want our teams making decisions from disconnected dashboards.",
"So we started building technology around the questions we needed answered."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "WHY AI GROWTH TECHNOLOGIES",
"title": "Growth Needed More Than Another Agency.",
"intro": [
"There are plenty of companies that can run an ad campaign, redesign a website, or produce an SEO report.",
"We wanted to solve the harder problem.",
"How do all those things work together to make the business grow?"
],
"items": [
{
"kicker": null,
"title": "Strategy Before Activity.",
"subtitle": null,
"body": [
"More marketing is not automatically better marketing.",
"We look at what the business needs before deciding which channel, campaign, technology, or investment belongs in the plan."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Business Outcomes Over Channel Wins.",
"subtitle": null,
"body": [
"Rankings matter. Traffic matters. Leads matter. Conversion rates matter.",
"But none of them exists in isolation.",
"We keep following the numbers until they tell us something useful about the business."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Built to Keep Learning.",
"subtitle": null,
"body": [
"Customer behavior changes. Platforms change. Search changes. AI changes.",
"Our model is designed to learn from those changes rather than keep applying the same playbook to a different year."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE TECHNOLOGY BEHIND THE THINKING",
"title": "Some Questions Needed Better Tools.",
"intro": [
"The platforms we use are good at reporting their own performance.",
"The business needs to understand what is happening between them.",
"That gap led us to build our own technology."
],
"items": [
{
"kicker": null,
"title": "Atrilyx",
"subtitle": "See More of the Customer Journey.",
"body": [
"Our media and attribution engine connects signals across campaigns and customer touchpoints to give teams a clearer view of what is contributing to conversion."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "meSEO",
"subtitle": "See Search Beyond the Ranking.",
"body": [
"meSEO connects organic search intelligence, visitor behavior, and emerging AI visibility so we can understand not only where a brand appears, but what happens next."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Korrith",
"subtitle": "Keep the Digital Foundation Strong.",
"body": [
"Korrith supports the security and resilience of the websites, applications, and digital infrastructure businesses increasingly depend on."
],
"list": [],
"cta": null
}
],
"outro": [
"We built these platforms because better decisions start with better information."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "HOW WE THINK",
"title": "A Few Principles Travel With Every Engagement.",
"intro": [
"The channels may change. The business problem may change. These do not."
],
"items": [
{
"kicker": null,
"title": "Follow the Customer.",
"subtitle": null,
"body": [
"Customers do not care which department owns the interaction.",
"We look at the experience from their side."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Question the Dashboard.",
"subtitle": null,
"body": [
"A number without context can tell a convincing story and still lead to the wrong decision.",
"We want to know what the metric means before deciding what to do about it."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Let Specialists Be Specialists.",
"subtitle": null,
"body": [
"Integration should not mean turning everyone into a generalist.",
"Deep expertise matters. The difference is that our specialists share what they learn."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Use AI With Judgment.",
"subtitle": null,
"body": [
"We use AI where it improves research, analysis, discovery, workflows, and decision-making.",
"We do not add it simply because the technology exists."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Keep Improving the System.",
"subtitle": null,
"body": [
"There is rarely one permanent answer in digital growth.",
"We measure, learn, adjust, and keep looking for the next constraint."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE PEOPLE BEHIND THE SYSTEM",
"title": "Different Expertise. Shared Accountability.",
"intro": [
"Technology can surface the signal.",
"People still have to decide what it means."
],
"items": [
{
"kicker": null,
"title": "Strategists",
"subtitle": null,
"body": [
"Connect the business problem with the decisions, priorities, and channels most likely to move it."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Search & Media Specialists",
"subtitle": null,
"body": [
"Understand how people discover businesses across traditional search, paid platforms, and emerging AI experiences."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Developers & Technologists",
"subtitle": null,
"body": [
"Build and maintain the digital infrastructure that marketing, measurement, and customer experience depend on."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Creative & Brand Thinkers",
"subtitle": null,
"body": [
"Turn positioning, audience insight, and performance data into ideas people can recognize and respond to."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Data & Measurement Specialists",
"subtitle": null,
"body": [
"Connect the signals so decisions are based on a wider view than any individual platform can provide."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [
"MEET OUR TEAM"
],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE PROOF SHOULD SHOW UP IN THE WORK",
"title": "We Measure What Growth Leaves Behind.",
"intro": [],
"items": [
{
"kicker": null,
"title": "120%",
"subtitle": "Average ROI Increase",
"body": [
"Performance should create something the business can measure."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "7",
"subtitle": "Global Markets",
"body": [
"Different markets require different decisions, not copied playbooks."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "24",
"subtitle": "Specialized Channels",
"body": [
"We work across the places customers discover, evaluate, and interact with brands."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "99%",
"subtitle": "Platform Uptime",
"body": [
"The technology behind growth needs to be dependable too."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "stats"
},
{
"eyebrow": "GLOBAL REACH. LOCAL CONTEXT.",
"title": "The System Travels. The Strategy Adapts.",
"intro": [
"Growth fundamentals can cross borders.",
"Customer behavior does not always travel with them."
],
"items": [
{
"kicker": null,
"title": "Different Markets",
"subtitle": null,
"body": [
"Search behavior, competition, media economics, culture, and customer expectations change from one market to another."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Different Industries",
"subtitle": null,
"body": [
"Healthcare does not sell like hospitality. B2B does not behave like e-commerce. Automotive has a different customer journey from home services."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "One Connected Approach",
"subtitle": null,
"body": [
"We adapt the execution without losing the strategy connecting it."
],
"list": [],
"cta": null
}
],
"outro": [
"Our experience spans hospitality, medical and dental, automotive, e-commerce, home services, B2B, creator businesses, and other growth-focused organizations."
],
"ctas": [
"EXPLORE OUR INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "WHAT COMES NEXT",
"title": "Growth Will Keep Changing. That’s the Point.",
"intro": [
"Search will evolve again.",
"AI will create new ways to discover businesses. Platforms will change. Customer behavior will move. New technology will make today's best practices look ordinary.",
"We are not building AI Growth Technologies around one version of the internet."
],
"items": [
{
"kicker": null,
"title": "Stay Curious.",
"subtitle": null,
"body": [
"Pay attention before the market forces you to."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build What Is Missing.",
"subtitle": null,
"body": [
"If the existing tools cannot answer the question, find a better way."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Keep the Business at the Center.",
"subtitle": null,
"body": [
"New technology is useful when it improves something that actually matters."
],
"list": [],
"cta": null
}
],
"outro": [
"That is the company we are building."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "READY TO GROW DIFFERENTLY?",
"title": "Let’s Build What Comes Next.",
"intro": [
"You have seen how we think, what we value, and why we built AI Growth Technologies differently.",
"Now let’s talk about where your business is going.",
"Bring us the ambition. The challenge. The opportunity.",
"We’ll bring the right people, thinking, and technology to the table."
],
"items": [],
"outro": [],
"ctas": [
"LET’S TALK GROWTH"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+199
View File
@@ -0,0 +1,199 @@
{
"slug": "contact",
"path": "/contact",
"meta": {
"title": "Contact AI Growth Technologies | Talk Growth Strategy",
"description": "Contact AI Growth Technologies about SEO, paid media, AI visibility, web, brand, cybersecurity, consulting, or your next growth challenge."
},
"hero": {
"eyebrow": "START WITH WHAT YOU’RE TRYING TO SOLVE",
"title": "Let’s Find Your Next Growth Move.",
"intro": [
"You do not need to know whether the answer is SEO, paid media, AI visibility, a better website, or something else entirely.",
"Tell us what is happening in the business, what you want to change, and where you think growth is getting stuck.",
"We’ll start there."
],
"items": [],
"outro": [],
"ctas": [
"TALK TO A GROWTH STRATEGIST"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "TELL US WHAT’S HAPPENING",
"title": "Give Us the Starting Point.",
"intro": [
"A few details about your business, what you are working toward, and where you need help are enough to get the conversation moving.",
"No polished brief required. Tell us what you know, and we’ll take it from there.",
"Prefer to speak directly? Call our Dubai team at +971 55 647 0342."
],
"items": [],
"outro": [],
"ctas": [],
"form": true,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "COME WITH WHAT YOU KNOW",
"title": "Give Us the Situation. We’ll Ask the Next Questions.",
"intro": [
"You do not need a presentation, a perfectly defined brief, or an answer to every question.",
"A useful first conversation can start with three things."
],
"items": [
{
"kicker": null,
"title": "What’s Working",
"subtitle": null,
"body": [
"Where does the business already have momentum?"
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What’s Getting Harder",
"subtitle": null,
"body": [
"Maybe it is visibility, acquisition, conversion, measurement, positioning, or something you cannot quite identify yet."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Where You Want to Go",
"subtitle": null,
"body": [
"More qualified demand. Better economics. A stronger digital presence. A new market. A clearer growth strategy."
],
"list": [],
"cta": null
}
],
"outro": [
"Give us the context. We’ll help make sense of what comes next."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "ONE PROBLEM CAN CROSS MORE THAN ONE CHANNEL",
"title": "The First Answer May Not Be the Final Answer.",
"intro": [
"A search problem can turn out to be a website problem.",
"A paid media problem can expose a positioning issue.",
"An AI visibility question can reveal gaps in content, authority, or technical structure.",
"That is why we work across connected digital growth services instead of forcing every challenge into a single channel.",
"The goal is not to sell you more services.",
"It is to find the right place to start."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "GLOBAL PRESENCE",
"title": "Wherever You’re Growing, Start the Conversation Here.",
"intro": [
"AI Growth Technologies is headquartered in Dubai, with strategic partner offices across the United States.",
"Our presence across the UAE and USA gives businesses several ways to reach the team, whether the opportunity is local, national, or crosses markets."
],
"items": [
{
"kicker": null,
"title": "Dubai",
"subtitle": "Global HQ",
"body": [
"Our global headquarters and innovation hub in the MENA region.",
"Downtown Dubai, UAE\nPhone: +971 55 647 0342\nEmail: info@aigrowthtechnologies.com"
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Houston",
"subtitle": "Partner Office",
"body": [
"A US point of contact for businesses across Texas and beyond.",
"Downtown Houston, TX, USA\nPhone: +1 832-350-0465"
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Miami",
"subtitle": "Partner Office",
"body": [
"A US point of contact based in South Florida.",
"Brickell Avenue, FL, USA\nPhone: +1 954-235-4974"
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "New York City",
"subtitle": "Partner Office",
"body": [
"A US point of contact in one of the world’s leading business markets.",
"Manhattan Financial District, NY, USA\nPhone: +1 713-289-4577"
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "offices"
},
{
"eyebrow": "NOT SURE WHERE TO START?",
"title": "Start With the Business, Not the Service.",
"intro": [
"You may already know you need SEO, paid media, LLMO and AI visibility, branding, cybersecurity, or a stronger digital experience.",
"Or you may simply know that growth is not moving the way it should.",
"Our digital marketing consulting gives us room to look beyond one channel, understand what is actually happening, and identify what deserves attention first."
],
"items": [],
"outro": [],
"ctas": [
"EXPLORE CONSULTING"
],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "READY WHEN YOU ARE",
"title": "Let’s Talk About What Growth Needs Next.",
"intro": [
"Bring us the challenge, the opportunity, or the question you have not been able to answer yet.",
"We’ll bring the right people and perspective to the conversation."
],
"items": [],
"outro": [],
"ctas": [
"START THE CONVERSATION"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+314
View File
@@ -0,0 +1,314 @@
{
"slug": "industries",
"path": "/industries",
"meta": {
"title": "Industries We Serve | AI Growth Technologies",
"description": "Explore digital growth strategies for hospitality, healthcare, automotive, e-commerce, home services, B2B, SaaS, creators, and personal brands."
},
"hero": {
"eyebrow": "BUILT AROUND YOUR MARKET",
"title": "Growth Looks Different in Every Industry.",
"intro": [
"A hotel wants more direct bookings. A dental practice needs the right patients to find and trust it. A dealership has inventory to move. An e-commerce brand has acquisition costs and margins to protect.",
"The channels may be familiar. The way they need to work is not.",
"AI Growth Technologies brings together paid media, SEO, AI visibility, web, brand, social, data, and technology around how customers actually choose businesses in your industry."
],
"items": [],
"outro": [],
"ctas": [
"EXPLORE OUR SERVICES"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "THE BUSINESS MODEL COMES FIRST",
"title": "Same Capabilities. Different Growth Equation.",
"intro": [
"Industry changes the customer journey, the economics behind acquisition, and what a valuable conversion actually looks like.",
"A guest booking a room tonight behaves differently from a patient choosing a provider or a B2B team evaluating software for the next quarter.",
"That is why we start with the business, the customer, and the market before deciding which growth services belong in the strategy."
],
"items": [
{
"kicker": "HOSPITALITY | TURN LOOKERS INTO GUESTS",
"title": "More Direct Bookings. Stronger Guest Demand.",
"subtitle": null,
"body": [
"Travelers move between search, OTAs, maps, reviews, social, AI recommendations, and hotel websites before deciding where to stay.",
"We connect those moments around the outcomes hospitality businesses care about."
],
"list": [
"Direct booking growth",
"Local and destination search visibility",
"Paid media for rooms, offers, and experiences",
"Guest journey and conversion optimization"
],
"cta": "EXPLORE HOSPITALITY"
},
{
"kicker": "MEDICAL & DENTAL | BE FOUND. EARN TRUST.",
"title": "Turn Patient Search Into Patient Growth.",
"subtitle": null,
"body": [
"Patients compare providers, treatments, credentials, reviews, and locations before making contact. AI is adding another layer to that research.",
"We help practices build the visibility and credibility needed to make the shortlist."
],
"list": [
"Local and treatment-focused search",
"Qualified patient acquisition",
"Authority and educational content",
"Patient journey and conversion optimization"
],
"cta": "EXPLORE MEDICAL & DENTAL"
},
{
"kicker": "AUTOMOTIVE | FROM SEARCH TO SHOWROOM",
"title": "Move More Customers Toward the Next Action.",
"subtitle": null,
"body": [
"Automotive demand may begin online, but success shows up in inquiries, appointments, showroom visits, purchases, and service bookings.",
"We connect digital marketing with the actions that matter at the dealership."
],
"list": [
"Vehicle and inventory visibility",
"Local dealership search",
"Sales and service lead generation",
"Campaign and conversion measurement"
],
"cta": "EXPLORE AUTOMOTIVE"
},
{
"kicker": "E-COMMERCE | MAKE EVERY ORDER COUNT",
"title": "Grow Revenue Without Losing Sight of the Economics.",
"subtitle": null,
"body": [
"More orders do not always mean healthier growth. Acquisition costs, margins, repeat purchases, and customer value all matter.",
"We build around the economics behind the transaction, not simply the transaction itself."
],
"list": [
"Customer acquisition strategy",
"Conversion rate optimization",
"Search and product discovery",
"CAC, AOV, and lifetime value insights"
],
"cta": "EXPLORE E-COMMERCE"
},
{
"kicker": "HOME SERVICES | WIN THE LOCAL DECISION",
"title": "Be There When Someone Needs the Job Done.",
"subtitle": null,
"body": [
"Home service searches often begin with an immediate problem and a location already in mind.",
"We help businesses turn that local intent into qualified opportunities across the areas they serve."
],
"list": [
"Local search visibility",
"Service-area SEO",
"Qualified lead generation",
"Market and service-level performance insights"
],
"cta": "EXPLORE HOME SERVICES"
},
{
"kicker": "B2B & SAAS | BUILD THE PIPELINE EARLIER",
"title": "Get Into the Decision Before the Sales Call.",
"subtitle": null,
"body": [
"B2B buyers may spend weeks researching problems, comparing solutions, reading content, and consulting AI before they ever speak with sales.",
"We help brands become part of that research earlier."
],
"list": [
"Qualified pipeline generation",
"Search and AI visibility",
"Demand and authority building",
"Longer-cycle attribution and measurement"
],
"cta": "EXPLORE B2B & SAAS"
},
{
"kicker": "CREATORS & PERSONAL BRANDS | BUILD BEYOND THE FOLLOW",
"title": "Turn an Audience Into a Business You Own.",
"subtitle": null,
"body": [
"Followers can create reach, but algorithms change and platforms control access to the audience.",
"We help creators build something more durable around their name, expertise, offers, and owned digital presence."
],
"list": [
"Personal brand positioning",
"Search and AI discoverability",
"Owned audience and website growth",
"Product, offer, and audience monetization"
],
"cta": "EXPLORE CREATORS & PERSONAL BRANDS"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "showcase"
},
{
"eyebrow": "EXPERIENCE WITHOUT ASSUMPTIONS",
"title": "Industry Experience Should Help Us Ask Better Questions.",
"intro": [
"Knowing the category gives us a head start. It does not give us permission to assume your business works like every other company in it."
],
"items": [
{
"kicker": null,
"title": "Learn the Business",
"subtitle": null,
"body": [
"Margins, customers, capacity, markets, and ambitions can vary dramatically even between direct competitors.",
"We learn what makes yours different."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Read the Market",
"subtitle": null,
"body": [
"Competition, geography, seasonality, demand, and customer behavior shape where the real opportunities are.",
"We look at the market you actually have to win."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build the Right Mix",
"subtitle": null,
"body": [
"Not every company needs every AI Growth service.",
"We choose the capabilities that fit the opportunity rather than forcing the business into a standard package."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "WHERE WE’RE BUILDING NEXT",
"title": "New Industries. New Growth Questions.",
"intro": [
"As discovery changes, more industries are having to rethink how customers find them, evaluate them, and decide who deserves their business.",
"These are some of the markets where we see that shift creating new growth opportunities."
],
"items": [
{
"kicker": null,
"title": "Legal",
"subtitle": null,
"body": [
"Potential clients often research the problem, the practice area, and several firms before making contact.",
"A strong digital presence needs to establish relevance and credibility during that research."
],
"list": [
"Local and organic visibility",
"Practice-area discovery",
"Authority and reputation",
"Qualified inquiries"
],
"cta": null
},
{
"kicker": null,
"title": "Financial Services",
"subtitle": null,
"body": [
"Financial decisions carry a higher threshold for credibility, clarity, and confidence.",
"Digital growth needs to create demand while respecting the standards that come with the category."
],
"list": [
"Trust and educational content",
"Search and AI visibility",
"Digital acquisition",
"Responsible communication"
],
"cta": null
},
{
"kicker": null,
"title": "Fitness & Wellness",
"subtitle": null,
"body": [
"Discovery can happen through search, social, recommendations, local listings, or paid media.",
"The bigger opportunity is turning that first interaction into membership, repeat business, and a stronger customer relationship."
],
"list": [
"Local demand generation",
"Membership acquisition",
"Brand visibility",
"Customer retention"
],
"cta": null
},
{
"kicker": null,
"title": "Education",
"subtitle": null,
"body": [
"Students, parents, professionals, and institutional buyers have more ways than ever to research programs before making an inquiry.",
"Being easy to understand and compare can matter just as much as being easy to find."
],
"list": [
"Search and AI discovery",
"Enrollment journeys",
"Institutional trust",
"Content and digital experience"
],
"cta": null
},
{
"kicker": null,
"title": "Travel & Tourism",
"subtitle": null,
"body": [
"A trip can begin with a destination question months before anyone is ready to book.",
"Destinations and travel businesses have opportunities to influence that planning earlier, from initial inspiration through final itinerary decisions."
],
"list": [
"Destination discovery",
"Direct demand generation",
"International audience reach",
"Experience-led marketing"
],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT AROUND YOUR BUSINESS",
"title": "Your Industry Gives Us Context. Your Business Sets the Strategy.",
"intro": [
"Industry knowledge gets us closer to the right questions.",
"Your customers, economics, market, and ambitions determine the answers.",
"Bring us where you want the business to go. We’ll build the growth strategy around what it will take to get there."
],
"items": [],
"outro": [],
"ctas": [
"TALK TO A GROWTH STRATEGIST"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,676 @@
{
"slug": "industries_automotive",
"path": "/industries/automotive",
"meta": {
"title": "Automotive Digital Marketing | AI Growth Technologies",
"description": "Drive vehicle sales and service demand with automotive SEO, paid media, AI visibility, web optimization, and digital strategy built for dealerships."
},
"hero": {
"eyebrow": "AUTOMOTIVE | FROM SEARCH TO SHOWROOM",
"title": "Turn Vehicle Search Into Sales and Service Demand.",
"intro": [
"The automotive customer journey starts long before someone walks into a dealership.",
"Buyers search makes and models, compare inventory, research pricing, read reviews, check dealership locations, explore financing, and increasingly use AI platforms to narrow their options. Service customers often arrive with a more immediate need and a much shorter decision window.",
"AI Growth Technologies connects SEO, paid media, AI visibility, and the website experience around the actions that matter: inquiries, appointments, showroom visits, vehicle sales, and service demand."
],
"items": [],
"outro": [],
"ctas": [
"GROW AUTOMOTIVE DEMAND"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "THE SHOWROOM VISIT OFTEN STARTS ONLINE",
"title": "Be There While Buyers Are Still Narrowing the List.",
"intro": [
"A customer may research several vehicles and dealerships before contacting anyone. Each stage creates another opportunity to make the shortlist."
],
"items": [
{
"kicker": null,
"title": "Vehicle Discovery",
"subtitle": null,
"body": [
"Build visibility around the makes, models, vehicle categories, and inventory customers are actively researching."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Dealer Comparison",
"subtitle": null,
"body": [
"Give buyers clear reasons to consider your dealership while they compare inventory, location, reputation, offers, and the buying experience."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "High-Intent Action",
"subtitle": null,
"body": [
"Make it easy to call, inquire, schedule a test drive, check availability, or take the next appropriate step."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Ownership & Service",
"subtitle": null,
"body": [
"Stay visible after the sale when customers need maintenance, repairs, parts, or another vehicle."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "INVENTORY CHANGES. YOUR VISIBILITY HAS TO KEEP UP.",
"title": "Connect Search Demand With the Vehicles You Need to Move.",
"intro": [
"Automotive marketing has an unusual challenge: what you are selling can change every day."
],
"items": [
{
"kicker": null,
"title": "Match Demand to Inventory",
"subtitle": null,
"body": [
"Use SEO and paid media to connect relevant searches with the vehicles and categories currently available."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Support Priority Inventory",
"subtitle": null,
"body": [
"Give specific models, vehicle types, offers, or inventory priorities additional visibility when the business needs to create demand around them."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Think Beyond the Model Name",
"subtitle": null,
"body": [
"Customers also search around price ranges, body styles, features, fuel types, use cases, and other needs that can reveal purchase intent."
],
"list": [],
"cta": null
}
],
"outro": [
"The strategy should respond to what customers want and what the dealership actually has to sell."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "LOCAL SEARCH CAN SEND SOMEONE TO YOUR DOOR",
"title": "Win More of the Automotive Search Around You.",
"intro": [
"For dealerships and service centers, geography can be as important as the vehicle or service itself."
],
"items": [
{
"kicker": null,
"title": "Strengthen Local Visibility",
"subtitle": null,
"body": [
"Build stronger search presence around dealership locations, nearby markets, inventory, and services."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Reach the Right Service Areas",
"subtitle": null,
"body": [
"Focus on the cities and communities where the business actually wants to compete rather than treating every nearby searcher the same."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Give Each Location a Clear Role",
"subtitle": null,
"body": [
"For dealer groups and multi-location businesses, make it easier for customers and search engines to understand which vehicles, services, and information belong to each location."
],
"list": [],
"cta": null
}
],
"outro": [
"Local SEO should connect real customer intent with the dealership best positioned to serve it."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "CAR RESEARCH IS ENTERING AI SEARCH",
"title": "Buyers Are Asking More Detailed Questions Before They Contact a Dealer.",
"intro": [
"Generative search gives automotive customers another way to compare vehicles, features, ownership considerations, dealership options, and buying decisions."
],
"items": [
{
"kicker": null,
"title": "Make the Business Easier to Understand",
"subtitle": null,
"body": [
"Clarify dealership information, locations, inventory categories, services, expertise, and other important business details."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Useful Automotive Authority",
"subtitle": null,
"body": [
"Create clear, relevant information around the questions customers ask while researching vehicles and ownership."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Connect AI Visibility With Search",
"subtitle": null,
"body": [
"Our LLMO and AI visibility work strengthens the information and context AI systems may use when understanding and retrieving information about the business."
],
"list": [],
"cta": null
}
],
"outro": [
"No strategy can guarantee that an AI platform will recommend a particular dealership. The opportunity is to build stronger visibility across a changing discovery environment."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "CLICKS DON’T MOVE INVENTORY. CUSTOMERS DO.",
"title": "Build Paid Media Around Actions That Matter.",
"intro": [
"Automotive campaigns should connect media spend with meaningful customer activity, not simply traffic."
],
"items": [
{
"kicker": null,
"title": "Vehicle & Inventory Campaigns",
"subtitle": null,
"body": [
"Reach people actively searching for relevant vehicles, models, categories, and dealership options."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Offer & Promotion Campaigns",
"subtitle": null,
"body": [
"Support timely dealership offers, inventory priorities, and relevant sales opportunities."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Service Campaigns",
"subtitle": null,
"body": [
"Generate demand around maintenance, repair, and other services customers need throughout vehicle ownership."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Remarketing",
"subtitle": null,
"body": [
"Reconnect with relevant audiences who have already visited the site or interacted with the dealership."
],
"list": [],
"cta": null
}
],
"outro": [
"Our paid media approach keeps campaign decisions tied to the business outcomes the dealership is trying to influence."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE WEBSITE IS PART OF THE SALES FLOOR",
"title": "Make the Next Automotive Decision Easier.",
"intro": [
"Customers arrive expecting to find useful information quickly. If inventory, services, locations, or next steps are difficult to navigate, intent can disappear before anyone speaks with the dealership."
],
"items": [
{
"kicker": null,
"title": "Make Inventory Easier to Explore",
"subtitle": null,
"body": [
"Help visitors move naturally from broad vehicle research toward relevant inventory and individual vehicle information."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Keep Mobile Friction Low",
"subtitle": null,
"body": [
"Automotive research frequently happens on phones. Pages, forms, calls, directions, and inventory experiences should work accordingly."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Make the Next Action Obvious",
"subtitle": null,
"body": [
"Test drives, inquiries, availability checks, service appointments, calls, and directions should be easy to find."
],
"list": [],
"cta": null
}
],
"outro": [
"Our web development approach connects performance, usability, search visibility, and conversion around the customer journey."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT FOR DIFFERENT AUTOMOTIVE BUSINESSES",
"title": "The Growth Model Changes With the Business.",
"intro": [
"The fundamentals of automotive demand may overlap, but a franchise dealership and an independent service center do not need the same strategy."
],
"items": [
{
"kicker": null,
"title": "Franchise Dealerships",
"subtitle": null,
"body": [
"Connect brand and model demand with local visibility, inventory, offers, customer acquisition, and service opportunities."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Independent Dealers",
"subtitle": null,
"body": [
"Compete locally around available inventory, dealership reputation, vehicle categories, financing information, and the buying experience."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Service Centers",
"subtitle": null,
"body": [
"Capture higher-intent local demand around maintenance and repair while making appointments and contact easy."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Auto Groups",
"subtitle": null,
"body": [
"Coordinate visibility, media, measurement, and location strategy across multiple dealerships without losing the priorities of individual rooftops."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "SALES AND SERVICE NEED DIFFERENT JOURNEYS",
"title": "One Customer Can Create Value More Than Once.",
"intro": [
"The relationship does not have to end when the vehicle leaves the lot."
],
"items": [
{
"kicker": null,
"title": "Win the Sale",
"subtitle": null,
"body": [
"Create stronger visibility and acquisition around customers currently researching their next vehicle."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Earn the Service Visit",
"subtitle": null,
"body": [
"Stay discoverable when owners need maintenance, diagnostics, repair, parts, or other dealership services."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Keep the Relationship Visible",
"subtitle": null,
"body": [
"Use social media, search, brand, and customer communication strategies to stay recognizable between major purchase decisions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Understand the Wider Value",
"subtitle": null,
"body": [
"A customer who purchases, returns for service, and eventually buys again can matter differently from a single isolated lead."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "AUTOMOTIVE GROWTH NEEDS A BETTER SCORECARD",
"title": "Measure What Happens Beyond the Lead.",
"intro": [
"Lead volume matters, but automotive performance becomes more useful when marketing data gets closer to actual customer actions."
],
"items": [
{
"kicker": null,
"title": "Qualified Inquiries",
"subtitle": null,
"body": [
"Understand whether campaigns and search visibility are producing meaningful interest in vehicles and services."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Appointment Activity",
"subtitle": null,
"body": [
"Track relevant test-drive requests, sales appointments, service bookings, calls, and other useful actions where reliable data is available."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Inventory & Service Demand",
"subtitle": null,
"body": [
"Compare performance across vehicles, categories, offers, services, locations, and markets."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Acquisition Efficiency",
"subtitle": null,
"body": [
"Understand what it costs to generate meaningful opportunities across the channels being used."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is not to give every click credit for a sale. It is to build a clearer picture of which marketing activity is contributing to demand."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT STRATEGY DEPENDS ON THE DEALERSHIP",
"title": "Build Around Your Inventory, Market, and Customer.",
"intro": [
"A single-location independent dealer should not use the same growth plan as a multi-state automotive group."
],
"items": [
{
"kicker": null,
"title": "Start With the Business",
"subtitle": null,
"body": [
"Understand inventory, sales priorities, service capacity, locations, margins, market position, and the customer segments the business wants to reach."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Read the Local Market",
"subtitle": null,
"body": [
"Competition, geography, search behavior, inventory demand, and customer preferences can vary substantially between markets."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Choose What Belongs",
"subtitle": null,
"body": [
"The strategy may bring together SEO, paid media, AI visibility, social media, brand, web development, and digital marketing consulting."
],
"list": [],
"cta": null
}
],
"outro": [
"The right mix depends on what the dealership needs to sell, where it needs to compete, and which customer actions matter most."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "AUTOMOTIVE DIGITAL MARKETING FAQS",
"title": "Questions Automotive Businesses Ask About Digital Growth",
"intro": [],
"items": [
{
"kicker": null,
"title": "How can digital marketing help dealerships sell more vehicles?",
"subtitle": null,
"body": [
"Digital marketing can help dealerships reach buyers during vehicle research, improve local and inventory visibility, generate qualified inquiries, support priority inventory, and make it easier for customers to move toward a showroom visit or purchase. The strategy should connect digital activity with actual dealership priorities rather than focusing only on traffic."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does SEO help a car dealership?",
"subtitle": null,
"body": [
"Automotive SEO can improve visibility around dealership locations, makes and models, vehicle categories, services, and other relevant searches. It can also help customers find useful dealership information while they are comparing where to buy or service a vehicle."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can dealerships improve their visibility in AI search?",
"subtitle": null,
"body": [
"Dealerships can strengthen clear, authoritative, structured information about their business, locations, inventory categories, services, and expertise. This may improve how AI systems understand and retrieve dealership information when relevant. It does not guarantee recommendations or citations from AI platforms."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How can paid media help move automotive inventory?",
"subtitle": null,
"body": [
"Paid media can target demand around relevant vehicles, models, categories, offers, and markets. Campaigns can also support remarketing and service demand. The strongest strategy takes current inventory and commercial priorities into account rather than promoting every vehicle equally."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How can digital marketing increase service appointments?",
"subtitle": null,
"body": [
"Search visibility and paid campaigns can reach vehicle owners when they are actively looking for maintenance or repair. Clear service information, local relevance, an effective website experience, and a simple appointment path can then help turn that demand into bookings."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What automotive marketing metrics should dealerships track?",
"subtitle": null,
"body": [
"Useful measures can include qualified inquiries, calls, test-drive requests, appointments, service bookings, acquisition cost, inventory-specific demand, local search visibility, and other outcomes supported by reliable dealership data. The right scorecard depends on the dealership’s sales and service goals."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "faq"
},
{
"eyebrow": "GROWTH LOOKS DIFFERENT EVERYWHERE",
"title": "Explore How We Approach Other Industries.",
"intro": [
"Automotive has its own inventory cycles, local markets, customer journeys, and conversion points. Other industries bring different growth equations."
],
"items": [
{
"kicker": null,
"title": "Hospitality",
"subtitle": null,
"body": [
"Build direct demand across destination discovery, search, AI, media, and the booking journey."
],
"list": [],
"cta": "EXPLORE HOSPITALITY"
},
{
"kicker": null,
"title": "Medical & Dental",
"subtitle": null,
"body": [
"Build visibility and trust while helping the right patients move from research to appointment."
],
"list": [],
"cta": "EXPLORE MEDICAL & DENTAL"
},
{
"kicker": null,
"title": "E-commerce",
"subtitle": null,
"body": [
"Grow customer acquisition and revenue while keeping conversion, acquisition costs, margins, and customer value in view."
],
"list": [],
"cta": "EXPLORE E-COMMERCE"
},
{
"kicker": null,
"title": "Home Services",
"subtitle": null,
"body": [
"Turn local search demand into qualified opportunities across the services and markets the business wants to grow."
],
"list": [],
"cta": "EXPLORE HOME SERVICES"
}
],
"outro": [],
"ctas": [
"VIEW ALL INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FROM SEARCH TO SHOWROOM",
"title": "Turn More Automotive Demand Into Customer Action.",
"intro": [
"Your next customer may already be comparing vehicles, searching nearby dealerships, researching service options, or deciding where to go next.",
"The opportunity is to make your business easier to find, easier to evaluate, and easier to contact at the moments that matter.",
"Tell us where you want sales or service demand to grow. We’ll build the strategy around your inventory, market, and customer journey."
],
"items": [],
"outro": [],
"ctas": [
"GROW AUTOMOTIVE DEMAND"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+697
View File
@@ -0,0 +1,697 @@
{
"slug": "industries_b2b",
"path": "/industries/b2b",
"meta": {
"title": "B2B & SaaS Digital Marketing | AI Growth Technologies",
"description": "Build qualified B2B pipeline with SEO, paid media, AI visibility, content, web optimization, and digital strategy designed for longer sales cycles."
},
"hero": {
"eyebrow": "B2B & SAAS | GET INTO THE DECISION EARLIER",
"title": "Turn Buyer Research Into Qualified Pipeline.",
"intro": [
"B2B buyers rarely arrive ready to speak with sales.",
"They research the problem, compare approaches, evaluate vendors, read industry content, ask colleagues, search Google, and increasingly use AI platforms to understand their options before filling out a form.",
"AI Growth Technologies connects SEO, paid media, AI visibility, and the website experience around a longer buying journey, helping businesses build demand before the sales conversation begins."
],
"items": [],
"outro": [],
"ctas": [
"BUILD QUALIFIED PIPELINE"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "THE SALES CALL IS NOT THE START OF THE SALE",
"title": "Influence the Research That Happens Before Someone Contacts You.",
"intro": [
"By the time a prospect reaches sales, they may already have an opinion about the problem, the available solutions, and the companies worth considering."
],
"items": [
{
"kicker": null,
"title": "Problem Discovery",
"subtitle": null,
"body": [
"Become visible when buyers are trying to understand the challenge rather than searching for a specific vendor."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Solution Research",
"subtitle": null,
"body": [
"Help prospects understand the available approaches, tradeoffs, capabilities, and considerations relevant to their decision."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Vendor Evaluation",
"subtitle": null,
"body": [
"Give buying teams the information they need to understand your expertise, offering, differentiation, and fit."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Sales Conversation",
"subtitle": null,
"body": [
"Make it easy for qualified prospects to request a demo, start a conversation, or take the appropriate next step."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "SEARCH DEMAND IS NOT LIMITED TO YOUR PRODUCT CATEGORY",
"title": "Own More of the Questions Behind the Purchase.",
"intro": [
"B2B search often begins long before someone types a product or service name."
],
"items": [
{
"kicker": null,
"title": "Find the Questions That Signal Demand",
"subtitle": null,
"body": [
"Use SEO to identify the problems, comparisons, use cases, and industry questions relevant to future customers."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Authority Around the Problem",
"subtitle": null,
"body": [
"Create useful information that demonstrates expertise before asking the prospect to consider the company."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Capture High-Intent Search",
"subtitle": null,
"body": [
"Strengthen visibility when buyers begin searching for specific solutions, providers, software categories, consultants, or suppliers."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Support the Sales Process",
"subtitle": null,
"body": [
"Useful search content can continue doing its job after a prospect enters the pipeline by answering questions that arise during evaluation."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is not simply more organic traffic. It is greater visibility across the research that can lead to a commercial conversation."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "YOUR NEXT PROSPECT MAY ASK AI BEFORE SALES",
"title": "B2B Discovery Is Moving Into Generative Search.",
"intro": [
"AI platforms are increasingly useful for the kinds of questions B2B buyers ask early in research.",
"They can compare approaches, explain technologies, identify solution categories, summarize considerations, and help buyers build an initial shortlist."
],
"items": [
{
"kicker": null,
"title": "Clarify What You Do",
"subtitle": null,
"body": [
"Make the company, offering, expertise, industries, use cases, and positioning easier for AI systems to understand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Retrievable Expertise",
"subtitle": null,
"body": [
"Create clear, authoritative information around the topics and questions relevant to the buying process."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Strengthen Entity Signals",
"subtitle": null,
"body": [
"Give search engines and AI systems stronger context around who the company is and where its expertise sits."
],
"list": [],
"cta": null
}
],
"outro": [
"Our LLMO and AI visibility work helps strengthen the information and authority signals that may contribute to retrieval across generative search experiences.",
"No strategy can guarantee an AI recommendation or citation. The opportunity is to become easier to understand and retrieve when relevant questions are being asked."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "MORE LEADS CAN STILL MEAN A WEAKER PIPELINE",
"title": "Build Acquisition Around Fit, Not Form Fills.",
"intro": [
"B2B teams do not need every visitor to become a lead. They need more of the right companies and buyers to become genuine opportunities."
],
"items": [
{
"kicker": null,
"title": "Reach Higher-Intent Demand",
"subtitle": null,
"body": [
"Use paid media around searches, audiences, industries, roles, and commercial needs relevant to the offer."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Support Longer Consideration",
"subtitle": null,
"body": [
"Not every prospect is ready to book a demo on the first visit. Campaigns can support discovery, evaluation, and return visits across a longer buying process."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Prioritize Valuable Segments",
"subtitle": null,
"body": [
"Give more attention to industries, markets, products, services, or customer profiles with stronger commercial potential."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Look Beyond Cost Per Lead",
"subtitle": null,
"body": [
"A cheaper lead is not necessarily a better lead. Quality, opportunity creation, pipeline value, and eventual revenue provide more useful context where reliable data is available."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "CONTENT SHOULD GIVE SALES SOMETHING TO BUILD ON",
"title": "Answer the Questions That Slow the Deal Down.",
"intro": [
"Content-led growth is strongest when it helps buyers make progress rather than simply filling a publishing calendar."
],
"items": [
{
"kicker": null,
"title": "Explain the Problem",
"subtitle": null,
"body": [
"Help prospects recognize and understand the challenge your business is equipped to solve."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Show the Approach",
"subtitle": null,
"body": [
"Give buyers enough information to understand how your solution works and where it fits."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Handle Comparison",
"subtitle": null,
"body": [
"Address the differences, tradeoffs, alternatives, and decision criteria buyers are likely to investigate."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Confidence",
"subtitle": null,
"body": [
"Case studies, expertise, useful resources, clear positioning, and credible proof can give buying teams more confidence as they move toward a decision."
],
"list": [],
"cta": null
}
],
"outro": [
"The best B2B content can support SEO, AI visibility, paid campaigns, and sales conversations at the same time."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE WEBSITE HAS TO WORK FOR MORE THAN ONE BUYER",
"title": "Give Every Stakeholder a Reason to Keep Evaluating.",
"intro": [
"B2B purchases can involve founders, executives, finance teams, technical specialists, procurement, operations, and end users.",
"They may all arrive at the same website looking for different answers."
],
"items": [
{
"kicker": null,
"title": "Make the Offer Easy to Understand",
"subtitle": null,
"body": [
"Visitors should be able to understand what the company does, who it helps, and why the solution matters without translating industry jargon."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Give Different Buyers the Detail They Need",
"subtitle": null,
"body": [
"Business outcomes, technical capabilities, use cases, integrations, implementation, proof, and other decision factors may matter to different stakeholders."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Create a Clear Next Step",
"subtitle": null,
"body": [
"Demo requests, consultations, inquiries, and other conversion paths should fit the way the business actually sells."
],
"list": [],
"cta": null
}
],
"outro": [
"Our web development approach connects user experience, search visibility, performance, and conversion around the buying journey."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT FOR DIFFERENT B2B MODELS",
"title": "The Buying Journey Changes With What You Sell.",
"intro": [
"A SaaS platform, consulting firm, manufacturer, and logistics provider may all sell to businesses. The similarities end quickly once the buying process begins."
],
"items": [
{
"kicker": null,
"title": "Software as a Service (SaaS)",
"subtitle": null,
"body": [
"Build category visibility, product demand, use-case discovery, demos, trials, and pipeline around the problems the software solves."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Professional Consulting",
"subtitle": null,
"body": [
"Turn expertise into discoverability and authority while giving decision-makers a clear reason to start a conversation."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Manufacturing",
"subtitle": null,
"body": [
"Support technical, product, capability, and supplier research across longer buying cycles involving multiple stakeholders."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Logistics",
"subtitle": null,
"body": [
"Build visibility around capabilities, routes, industries, operational needs, and service requirements that can lead to qualified commercial inquiries."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "PIPELINE HAS MORE THAN ONE CONVERSION",
"title": "Measure the Journey Between First Visit and Revenue.",
"intro": [
"B2B performance becomes clearer when measurement moves beyond the original form submission."
],
"items": [
{
"kicker": null,
"title": "Qualified Leads",
"subtitle": null,
"body": [
"Understand whether marketing is attracting companies and buyers that fit the business."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Sales Opportunities",
"subtitle": null,
"body": [
"Where CRM and measurement systems support it, identify which sources are contributing to opportunities that sales considers worth pursuing."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Pipeline Value",
"subtitle": null,
"body": [
"Look at the commercial potential connected to marketing activity rather than treating every lead as equal."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Revenue Contribution",
"subtitle": null,
"body": [
"Where reliable attribution is available, connect marketing activity with closed business and use those insights to improve future investment."
],
"list": [],
"cta": null
}
],
"outro": [
"The longer the sales cycle, the more important it becomes to understand what happens after the lead enters the CRM."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "A SHORTER SALES CYCLE STARTS WITH BETTER INFORMATION",
"title": "Help Buyers Answer More Questions Before the Meeting.",
"intro": [
"Marketing cannot control every part of a B2B sales cycle. It can make the research process more useful."
],
"items": [
{
"kicker": null,
"title": "Set Expectations Earlier",
"subtitle": null,
"body": [
"Clear information about capabilities, fit, process, and use cases can help prospects decide whether a conversation makes sense."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Reduce Repeated Education",
"subtitle": null,
"body": [
"Useful content can answer common questions before sales has to explain the same fundamentals in every meeting."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Give Internal Champions Better Material",
"subtitle": null,
"body": [
"The person who discovers your company may still need to explain it to colleagues. Give them information worth sharing."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Surface Objections Earlier",
"subtitle": null,
"body": [
"Addressing common concerns during research can help both the buyer and sales team understand where genuine friction exists."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT STRATEGY DEPENDS ON HOW YOU SELL",
"title": "Build Around the Market, Deal, and Sales Process.",
"intro": [
"A self-serve SaaS platform and an enterprise consulting firm can both be B2B businesses while having almost nothing in common commercially."
],
"items": [
{
"kicker": null,
"title": "Start With the Revenue Model",
"subtitle": null,
"body": [
"Understand deal size, margins, sales cycle, customer value, buying roles, and what makes an opportunity commercially worthwhile."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Understand the Buying Committee",
"subtitle": null,
"body": [
"Identify who researches, influences, evaluates, approves, and eventually uses the product or service."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Choose What Belongs",
"subtitle": null,
"body": [
"The strategy may bring together SEO, paid media, AI visibility, web development, brand, social media, and digital marketing consulting."
],
"list": [],
"cta": null
}
],
"outro": [
"The right mix depends on how buyers enter the market, how sales converts demand, and where the business has room to grow."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "B2B & SAAS DIGITAL MARKETING FAQS",
"title": "Questions B2B Companies Ask About Digital Growth",
"intro": [],
"items": [
{
"kicker": null,
"title": "How can digital marketing generate qualified B2B leads?",
"subtitle": null,
"body": [
"Digital marketing can build visibility around the problems, solutions, and categories buyers research, then create appropriate paths into demos, consultations, inquiries, or other sales conversations. Stronger qualification comes from aligning targeting, content, messaging, and conversion paths with the customers the business actually wants."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does SEO help B2B and SaaS companies?",
"subtitle": null,
"body": [
"B2B SEO can build visibility across problem research, solution discovery, category searches, comparisons, use cases, and high-intent vendor searches. This gives a business opportunities to influence buyers at several stages rather than competing only for bottom-of-funnel keywords."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can B2B companies improve their visibility in AI search?",
"subtitle": null,
"body": [
"Clear company information, authoritative content, strong entity signals, and useful expertise can make a business easier for AI systems to understand and potentially retrieve when relevant. LLMO can strengthen those signals, but it cannot guarantee that an AI platform will cite or recommend a company."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How can paid media improve B2B pipeline?",
"subtitle": null,
"body": [
"Paid media can help businesses reach relevant demand, industries, audiences, and commercial needs while supporting prospects throughout longer consideration cycles. Performance becomes more meaningful when campaign data can be connected with lead quality, opportunities, and pipeline rather than form submissions alone."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can digital marketing shorten a B2B sales cycle?",
"subtitle": null,
"body": [
"Marketing cannot control the entire sales cycle, but it can help buyers reach sales better informed. Clear positioning, educational content, comparisons, proof, use cases, and answers to common questions can reduce some of the uncertainty that slows evaluation."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which metrics should B2B marketing teams track?",
"subtitle": null,
"body": [
"Useful measures can include qualified leads, demo or consultation requests, cost per qualified lead, sales opportunities, pipeline value, conversion between funnel stages, sales cycle length, and revenue contribution where reliable data is available. The right scorecard depends on the sales model and measurement infrastructure."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "faq"
},
{
"eyebrow": "GROWTH LOOKS DIFFERENT EVERYWHERE",
"title": "Explore How We Approach Other Industries.",
"intro": [
"B2B growth revolves around research, buying committees, pipeline, and longer sales cycles. Other industries require different approaches."
],
"items": [
{
"kicker": null,
"title": "E-Commerce",
"subtitle": null,
"body": [
"Grow customer acquisition and revenue while keeping conversion, acquisition costs, margins, and customer value in view."
],
"list": [],
"cta": "EXPLORE E-COMMERCE"
},
{
"kicker": null,
"title": "Home Services",
"subtitle": null,
"body": [
"Turn local search demand into qualified opportunities across the services and markets the business wants to grow."
],
"list": [],
"cta": "EXPLORE HOME SERVICES"
},
{
"kicker": null,
"title": "Medical & Dental",
"subtitle": null,
"body": [
"Build visibility and trust while helping the right patients move from research to appointment."
],
"list": [],
"cta": "EXPLORE MEDICAL & DENTAL"
},
{
"kicker": null,
"title": "Automotive",
"subtitle": null,
"body": [
"Connect vehicle discovery, local search, paid acquisition, and digital experiences with sales and service demand."
],
"list": [],
"cta": "EXPLORE AUTOMOTIVE"
}
],
"outro": [],
"ctas": [
"VIEW ALL INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "GET INTO THE DECISION BEFORE THE SALES CALL",
"title": "Turn More Buyer Research Into Qualified Pipeline.",
"intro": [
"Your future customers may already be researching the problem, comparing approaches, asking AI for options, and deciding which companies deserve a closer look.",
"The opportunity is to become useful and visible before that shortlist is finished.",
"Tell us where pipeline needs to grow. We’ll build the strategy around your buyers, sales process, and commercial goals."
],
"items": [],
"outro": [],
"ctas": [
"BUILD QUALIFIED PIPELINE"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+697
View File
@@ -0,0 +1,697 @@
{
"slug": "industries_creators",
"path": "/industries/creators",
"meta": {
"title": "Creator & Personal Brand Marketing | AI Growth Technologies",
"description": "Grow a creator or personal brand with search, AI visibility, paid media, brand strategy, digital products, and an audience you can own."
},
"hero": {
"eyebrow": "CREATORS & PERSONAL BRANDS | BUILD BEYOND THE FOLLOW",
"title": "Turn an Audience Into a Business You Own.",
"intro": [
"A large audience can create reach. It does not automatically create a durable business.",
"Platforms change. Algorithms shift. Organic reach rises and falls. The relationship with your audience becomes more valuable when people can find you beyond the feed, understand what you offer, and engage with you through channels you control.",
"AI Growth Technologies connects brand, SEO, AI visibility, social media, and web development around turning recognition into a stronger digital business."
],
"items": [],
"outro": [],
"ctas": [
"GROW MY PERSONAL BRAND"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "FOLLOWERS ARE BORROWED. YOUR BRAND IS YOURS.",
"title": "Build Something That Can Travel Beyond One Platform.",
"intro": [
"A creator can spend years building an audience on a platform they do not control. The stronger opportunity is to make that attention portable."
],
"items": [
{
"kicker": null,
"title": "Build the Brand",
"subtitle": null,
"body": [
"Give people a clear reason to remember your name, expertise, perspective, or work beyond an individual post."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Create an Owned Destination",
"subtitle": null,
"body": [
"Use your website as the place where your story, expertise, offers, products, and most important content come together."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Expand Discovery",
"subtitle": null,
"body": [
"Become easier to find through search and AI when people look for your name, subject expertise, books, courses, services, or topics you are known for."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Create Direct Relationships",
"subtitle": null,
"body": [
"Build ways for interested people to stay connected without depending entirely on a social platform deciding whether they see your next post."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BE KNOWN FOR SOMETHING",
"title": "Make Your Name Mean More Than Your Follower Count.",
"intro": [
"Strong personal brands create an association.",
"People hear the name and understand the subject, perspective, expertise, or type of work attached to it."
],
"items": [
{
"kicker": null,
"title": "Clarify Your Position",
"subtitle": null,
"body": [
"Define what you want to be known for and where your perspective is genuinely different."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build a Recognizable Identity",
"subtitle": null,
"body": [
"Create a visual and verbal system that can move naturally across your website, social channels, products, media appearances, and other touchpoints."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Keep the Person in the Brand",
"subtitle": null,
"body": [
"Personal branding should sharpen what is already distinctive about you, not replace your personality with corporate language."
],
"list": [],
"cta": null
}
],
"outro": [
"Our brand strategy work helps creators turn recognition into a clearer, more consistent identity."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "YOUR BEST CONTENT SHOULD KEEP WORKING AFTER YOU POST IT",
"title": "Turn Expertise Into Long-Term Discoverability.",
"intro": [
"Social content can move quickly. Search gives useful ideas a chance to keep being discovered long after publication day."
],
"items": [
{
"kicker": null,
"title": "Build Around What You Know",
"subtitle": null,
"body": [
"Use SEO to connect your expertise with the questions, problems, and topics people are already researching."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Create Searchable Authority",
"subtitle": null,
"body": [
"Develop useful articles, resources, interviews, guides, and other content that gives your expertise a more permanent home."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Own Your Name in Search",
"subtitle": null,
"body": [
"Strengthen the digital presence around your name, work, products, and areas of expertise."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Connect Content Together",
"subtitle": null,
"body": [
"Turn individual pieces of content into a wider body of work instead of leaving valuable ideas scattered across different platforms."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is not to turn every creator into a publisher. It is to make strong ideas easier to find again."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "AI IS BECOMING ANOTHER WAY PEOPLE DISCOVER EXPERTS",
"title": "Be Easier to Understand When Someone Asks Who Knows This Subject.",
"intro": [
"People increasingly ask AI platforms for experts, authors, educators, resources, recommendations, and explanations.",
"That creates a new discovery opportunity for creators with a clear body of work."
],
"items": [
{
"kicker": null,
"title": "Strengthen Your Entity",
"subtitle": null,
"body": [
"Make it easier for search engines and AI systems to understand who you are, what you do, and the subjects connected to your work."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Supporting Authority",
"subtitle": null,
"body": [
"Create consistent information across your website, published work, profiles, media mentions, and other credible sources."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Make Expertise Retrievable",
"subtitle": null,
"body": [
"Develop clear, useful information around the topics you want associated with your name."
],
"list": [],
"cta": null
}
],
"outro": [
"Our LLMO and AI visibility work strengthens the signals that may help AI systems understand and retrieve information about a person or brand when relevant.",
"No strategy can guarantee an AI platform will recommend or cite a creator."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "ATTENTION BECOMES MORE VALUABLE WHEN IT HAS SOMEWHERE TO GO",
"title": "Give Your Audience a Clear Next Step.",
"intro": [
"Not every follower needs to become a customer. But people who want more should know what more looks like."
],
"items": [
{
"kicker": null,
"title": "Digital Products",
"subtitle": null,
"body": [
"Turn relevant expertise into courses, guides, memberships, resources, or other digital products where there is genuine audience demand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Services & Coaching",
"subtitle": null,
"body": [
"Create clearer paths from free content into consulting, coaching, speaking, advisory, or other professional offers."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Books & Intellectual Property",
"subtitle": null,
"body": [
"Give published work, frameworks, ideas, and other intellectual property a stronger digital presence beyond the platforms where they first appeared."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Partnerships & Opportunities",
"subtitle": null,
"body": [
"Make it easier for brands, media, organizations, event teams, and potential collaborators to understand what you do and how to reach you."
],
"list": [],
"cta": null
}
],
"outro": [
"Monetization works better when the offer grows naturally from why people followed you in the first place."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE WEBSITE IS WHERE THE BRAND BECOMES YOURS",
"title": "Give Everything You Create One Place to Connect.",
"intro": [
"Social profiles are useful entry points. Your website can become the digital property that brings the wider brand together."
],
"items": [
{
"kicker": null,
"title": "Tell the Full Story",
"subtitle": null,
"body": [
"Give people context that cannot fit into a profile bio or a thirty-second video."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Organize Your Work",
"subtitle": null,
"body": [
"Bring together content, products, books, courses, media, services, and other important parts of the brand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Create Better Conversion Paths",
"subtitle": null,
"body": [
"Give different visitors an appropriate next step, whether that is buying, subscribing, booking, reading, watching, or making contact."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build for Discovery",
"subtitle": null,
"body": [
"Our web development approach connects the experience with search performance, AI visibility, usability, and conversion."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT FOR DIFFERENT CREATOR BUSINESSES",
"title": "Your Audience Is Only Part of the Business Model.",
"intro": [
"A content creator, educator, author, and coach can all have strong personal brands while needing very different paths to growth."
],
"items": [
{
"kicker": null,
"title": "Content Creators",
"subtitle": null,
"body": [
"Build beyond platform reach with stronger brand positioning, owned content, search visibility, partnerships, and monetization opportunities."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Course Educators",
"subtitle": null,
"body": [
"Connect educational authority with course discovery, audience development, conversion, and a clearer path from useful free content to paid learning."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Authors",
"subtitle": null,
"body": [
"Strengthen discoverability around the author, books, subjects, media opportunities, speaking, and the wider body of work."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Coaches",
"subtitle": null,
"body": [
"Turn expertise and credibility into clearer positioning, qualified demand, useful content, and stronger paths into coaching programs or services."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "NOT EVERY FOLLOWER IS A CUSTOMER",
"title": "Build Around the Audience That Wants to Go Further.",
"intro": [
"Reach matters, but a smaller group of highly engaged people can sometimes create more business value than a much larger passive audience."
],
"items": [
{
"kicker": null,
"title": "Understand Audience Intent",
"subtitle": null,
"body": [
"Identify what people consistently ask about, respond to, search for, and seek help with."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Match the Offer to the Audience",
"subtitle": null,
"body": [
"Products and services should solve a real need rather than exist simply because the creator has reach."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Use Paid Media Selectively",
"subtitle": null,
"body": [
"Paid media can support launches, proven offers, audience expansion, remarketing, and other commercial priorities when the economics make sense."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Keep Learning From the Response",
"subtitle": null,
"body": [
"Sales, inquiries, search behavior, website activity, and audience feedback can reveal where the strongest opportunities are developing."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "CREATOR GROWTH NEEDS MORE THAN VANITY METRICS",
"title": "Measure What the Audience Does Next.",
"intro": [
"Followers, views, likes, and impressions can describe reach. They do not necessarily describe the business being built underneath it."
],
"items": [
{
"kicker": null,
"title": "Owned Audience Growth",
"subtitle": null,
"body": [
"Track how many people move from third-party platforms into channels and digital properties you control."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Qualified Demand",
"subtitle": null,
"body": [
"Measure inquiries, bookings, applications, or other meaningful actions connected to your offers."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Product Revenue",
"subtitle": null,
"body": [
"Understand which products, launches, and audience segments are creating commercial value."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Search & AI Discovery",
"subtitle": null,
"body": [
"Monitor how your name, brand, work, and expertise appear across traditional search and emerging AI discovery."
],
"list": [],
"cta": null
}
],
"outro": [
"The right scorecard depends on what the creator is actually trying to build."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT STRATEGY STARTS WITH WHAT YOU WANT THE BRAND TO BECOME",
"title": "Build Around the Business Behind the Audience.",
"intro": [
"Not every creator wants to launch a course. Not every author wants to become a coach. Not every personal brand needs millions of followers."
],
"items": [
{
"kicker": null,
"title": "Start With the Ambition",
"subtitle": null,
"body": [
"Understand whether the goal is products, services, publishing, speaking, partnerships, audience ownership, broader authority, or a combination."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Understand the Audience",
"subtitle": null,
"body": [
"Look at why people follow, what they value, what they search for, and what they may reasonably want next."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Choose What Belongs",
"subtitle": null,
"body": [
"The strategy may bring together brand, social media, SEO, AI visibility, web development, paid media, and digital marketing consulting."
],
"list": [],
"cta": null
}
],
"outro": [
"The right mix depends on what you want the audience, expertise, and brand to become."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "CREATOR & PERSONAL BRAND DIGITAL MARKETING FAQS",
"title": "Questions Creators Ask About Building a Digital Business",
"intro": [],
"items": [
{
"kicker": null,
"title": "How can creators turn followers into a business?",
"subtitle": null,
"body": [
"Creators can build a business by identifying what their audience values and creating appropriate products, services, partnerships, or other offers around that demand. A strong website, owned audience, clear brand, search visibility, and conversion paths can reduce dependence on any single social platform."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Why do creators need a website if they already have social media?",
"subtitle": null,
"body": [
"A website gives creators a digital property they control. It can bring together their story, content, products, services, media, contact information, and other important assets while supporting search visibility and direct audience relationships."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How can SEO help a personal brand?",
"subtitle": null,
"body": [
"SEO can help people discover a creator through their name, expertise, topics, products, books, services, and the questions they answer. It can also give valuable content a longer discovery life than many social posts receive."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can creators and personal brands appear in AI search?",
"subtitle": null,
"body": [
"AI systems may retrieve information about creators, authors, experts, and brands when answering relevant questions. Clear entity information, authoritative content, consistent profiles, credible third-party references, and a strong owned website can improve how a person or brand is understood. No strategy can guarantee an AI citation or recommendation."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Should creators use paid advertising?",
"subtitle": null,
"body": [
"Paid media can be useful when there is a clear objective, such as promoting a proven product, supporting a launch, expanding a qualified audience, or remarketing to interested visitors. Spending simply to increase follower counts may not support the wider business goal."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which metrics should creators and personal brands track?",
"subtitle": null,
"body": [
"Useful measures can include owned audience growth, website traffic, qualified inquiries, product revenue, conversion rate, repeat customers, search visibility, AI visibility, and partnership opportunities. Social reach still matters, but it should be viewed alongside what the audience does next."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "faq"
},
{
"eyebrow": "GROWTH LOOKS DIFFERENT EVERYWHERE",
"title": "Explore How We Approach Other Industries.",
"intro": [
"Creator businesses are built around audience, authority, intellectual property, and owned brand value. Other industries bring very different growth models."
],
"items": [
{
"kicker": null,
"title": "E-Commerce",
"subtitle": null,
"body": [
"Grow customer acquisition and revenue while keeping conversion, acquisition costs, margins, and customer value in view."
],
"list": [],
"cta": "EXPLORE E-COMMERCE"
},
{
"kicker": null,
"title": "B2B & SaaS",
"subtitle": null,
"body": [
"Build visibility earlier in longer buying journeys and turn research into qualified pipeline."
],
"list": [],
"cta": "EXPLORE B2B & SAAS"
},
{
"kicker": null,
"title": "Hospitality",
"subtitle": null,
"body": [
"Build direct demand across destination discovery, search, AI, media, and the booking journey."
],
"list": [],
"cta": "EXPLORE HOSPITALITY"
},
{
"kicker": null,
"title": "Medical & Dental",
"subtitle": null,
"body": [
"Build visibility and trust while helping the right patients move from research to appointment."
],
"list": [],
"cta": "EXPLORE MEDICAL & DENTAL"
}
],
"outro": [],
"ctas": [
"VIEW ALL INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "BUILD SOMETHING THE ALGORITHM CAN’T TAKE AWAY",
"title": "Turn Your Audience Into an Asset You Own.",
"intro": [
"You have already done the difficult part: given people a reason to pay attention.",
"Now the opportunity is to build beyond the next post, platform update, or algorithm change.",
"Turn that attention into a recognizable brand, searchable body of work, owned digital presence, and business with room to grow."
],
"items": [],
"outro": [],
"ctas": [
"BUILD MY CREATOR BUSINESS"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,631 @@
{
"slug": "industries_e-commerce",
"path": "/industries/e-commerce",
"meta": {
"title": "E-Commerce Digital Marketing | AI Growth Technologies",
"description": "Grow e-commerce revenue with SEO, paid media, AI visibility, conversion optimization, and digital strategy focused on CAC and customer value."
},
"hero": {
"eyebrow": "E-COMMERCE | MAKE EVERY ORDER COUNT",
"title": "Grow Revenue Without Losing Sight of the Economics.",
"intro": [
"More orders do not automatically mean healthier growth.",
"Customer acquisition cost, conversion rate, average order value, margins, repeat purchases, and lifetime value all affect what that revenue is actually worth.",
"AI Growth Technologies connects paid media, SEO, AI visibility, web development, and measurement around one goal: building e-commerce growth that makes commercial sense."
],
"items": [],
"outro": [],
"ctas": [
"GROW E-COMMERCE REVENUE"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "THE PURCHASE STARTS BEFORE THE PRODUCT PAGE",
"title": "Be Present While Shoppers Are Still Deciding What to Buy.",
"intro": [
"A shopper may discover a product on social, search the category on Google, compare several brands, read reviews, ask an AI platform for recommendations, leave, and return days later.",
"Each interaction can influence the eventual order."
],
"items": [
{
"kicker": null,
"title": "Product Discovery",
"subtitle": null,
"body": [
"Build visibility while shoppers are exploring categories, products, problems, and possible solutions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Brand Comparison",
"subtitle": null,
"body": [
"Give people enough information, differentiation, proof, and confidence to put your product on the shortlist."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Purchase Decision",
"subtitle": null,
"body": [
"Make the path from product interest to checkout clear and easy to follow."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Repeat Purchase",
"subtitle": null,
"body": [
"Stay relevant after the first order and create more opportunities to turn customers into returning customers."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "CAC CAN CHANGE THE MEANING OF REVENUE",
"title": "Acquire Customers With the Economics in View.",
"intro": [
"Scaling spend is easy when revenue is the only number being watched. The harder question is whether each additional customer is worth what it costs to acquire them."
],
"items": [
{
"kicker": null,
"title": "Know What Acquisition Costs",
"subtitle": null,
"body": [
"Understand how customer acquisition cost changes across campaigns, audiences, products, markets, and channels."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Protect the Margin",
"subtitle": null,
"body": [
"A campaign generating strong revenue can still create weak economics if discounts, media costs, fulfillment, and product margins are working against it."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Look Beyond the First Order",
"subtitle": null,
"body": [
"A customer who returns can have very different value from someone who purchases once."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Scale What Deserves More Budget",
"subtitle": null,
"body": [
"Our paid media approach uses performance signals to help determine where additional investment has a stronger business case."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "PRODUCT DISCOVERY DOESN’T BEGIN IN ONE PLACE",
"title": "Search Should Meet Shoppers Wherever Their Research Starts.",
"intro": [
"E-commerce search behavior extends far beyond someone typing an exact product name."
],
"items": [
{
"kicker": null,
"title": "Capture Category Demand",
"subtitle": null,
"body": [
"Use SEO to build visibility around the categories, problems, comparisons, and product needs shoppers are researching."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Strengthen Product Visibility",
"subtitle": null,
"body": [
"Give product and category pages clear information, structure, and context that help search engines understand what is being sold."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Answer the Questions Before Purchase",
"subtitle": null,
"body": [
"Sizing, materials, specifications, compatibility, use cases, shipping, returns, and other purchase questions can all influence whether someone continues toward checkout."
],
"list": [],
"cta": null
}
],
"outro": [
"Organic visibility should help customers discover the store and help them make a better-informed purchase decision once they arrive."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "SHOPPERS ARE ASKING AI WHAT TO BUY",
"title": "Product Discovery Is Expanding Into AI Answers.",
"intro": [
"People can now ask ChatGPT, Gemini, AI Overviews, and other generative platforms to compare products, recommend options, explain differences, and narrow down what might suit their needs.",
"That creates another surface where brands and products need to be understood."
],
"items": [
{
"kicker": null,
"title": "Clarify the Product",
"subtitle": null,
"body": [
"Make product information, attributes, categories, use cases, and differentiators easier for AI systems to interpret."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Strengthen the Brand Entity",
"subtitle": null,
"body": [
"Build clearer signals around who the company is, what it sells, and where it has authority."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Support Useful Comparisons",
"subtitle": null,
"body": [
"Create accurate information that helps distinguish products based on meaningful features and customer needs."
],
"list": [],
"cta": null
}
],
"outro": [
"Our LLMO and AI visibility work strengthens the information and context AI systems may use when retrieving relevant brand and product information. It does not guarantee inclusion or recommendation by an AI platform."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "MORE TRAFFIC WON’T FIX A WEAK STORE",
"title": "Make More of the Demand You Already Have.",
"intro": [
"Acquisition gets expensive when the experience after the click is working against the sale."
],
"items": [
{
"kicker": null,
"title": "Make Products Easy to Understand",
"subtitle": null,
"body": [
"Product pages should quickly communicate what the item is, who it is for, why it matters, and what someone needs to know before buying."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Reduce Buying Friction",
"subtitle": null,
"body": [
"Navigation, mobile experience, product discovery, cart behavior, and checkout paths should make purchasing easier rather than adding unnecessary decisions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Confidence Before Checkout",
"subtitle": null,
"body": [
"Clear product information, policies, delivery expectations, brand signals, and other relevant proof can help customers move forward with greater confidence."
],
"list": [],
"cta": null
}
],
"outro": [
"Our web development approach connects performance, usability, conversion, search visibility, and the wider shopping experience."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT FOR DIFFERENT E-COMMERCE MODELS",
"title": "What You Sell Changes How You Grow.",
"intro": [
"The economics, buying cycle, and customer relationship can vary substantially across e-commerce businesses."
],
"items": [
{
"kicker": null,
"title": "DTC Brands",
"subtitle": null,
"body": [
"Build direct customer acquisition, stronger brand demand, better conversion, and repeat purchase opportunities without relying entirely on third-party platforms."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Apparel & Fashion",
"subtitle": null,
"body": [
"Connect discovery, visual storytelling, search, paid acquisition, product merchandising, and repeat demand around faster-moving collections and customer preferences."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Consumer Goods",
"subtitle": null,
"body": [
"Build category and product visibility while balancing acquisition, margins, purchase frequency, and customer value."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Marketplace Sellers",
"subtitle": null,
"body": [
"Strengthen owned brand demand while understanding the role marketplaces play in product discovery, comparison, and purchase behavior."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE FIRST ORDER IS ONLY ONE NUMBER",
"title": "Build More Value Beyond Customer Acquisition.",
"intro": [
"Acquiring a new customer matters. What happens after that first transaction can matter just as much."
],
"items": [
{
"kicker": null,
"title": "Average Order Value",
"subtitle": null,
"body": [
"Look for appropriate ways to increase the value of each purchase through merchandising, product relationships, and the shopping experience."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Repeat Purchase",
"subtitle": null,
"body": [
"Understand which products and customer groups naturally create opportunities for another order."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Customer Lifetime Value",
"subtitle": null,
"body": [
"Use longer-term customer value to add context to acquisition decisions rather than evaluating every campaign only against the first purchase."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Brand Demand",
"subtitle": null,
"body": [
"Use brand and social media to help build recognition that can make future discovery and purchase decisions easier."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "E-COMMERCE GROWTH NEEDS A BETTER SCORECARD",
"title": "Measure the Business Behind the Conversion.",
"intro": [
"Revenue matters. But it becomes more useful when viewed alongside the economics that produced it."
],
"items": [
{
"kicker": null,
"title": "Customer Acquisition Cost",
"subtitle": null,
"body": [
"Understand what it costs to acquire customers across the channels, campaigns, and markets being used."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Conversion Rate",
"subtitle": null,
"body": [
"See how effectively qualified store traffic becomes actual purchases."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Average Order Value",
"subtitle": null,
"body": [
"Track how much customers spend per transaction and how that changes across products and audiences."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Customer Lifetime Value",
"subtitle": null,
"body": [
"Where reliable customer data is available, understand the longer-term value created beyond the initial purchase."
],
"list": [],
"cta": null
}
],
"outro": [
"Margins, repeat purchase rate, channel contribution, and product-level performance can add further context depending on the business.",
"The purpose is not to create more metrics. It is to know whether growth is becoming more valuable as it scales."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT STRATEGY DEPENDS ON THE STORE",
"title": "Build Around Your Products, Margins, and Customers.",
"intro": [
"A premium DTC brand with a considered purchase does not need the same growth plan as a high-frequency consumer goods business."
],
"items": [
{
"kicker": null,
"title": "Start With the Economics",
"subtitle": null,
"body": [
"Understand margins, acquisition costs, average order value, repeat behavior, fulfillment realities, and where profitability comes from."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Understand the Customer",
"subtitle": null,
"body": [
"Look at how people discover the category, compare products, make the first purchase, and decide whether to return."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Choose What Belongs",
"subtitle": null,
"body": [
"The strategy may bring together paid media, SEO, AI visibility, web development, social media, brand, and digital marketing consulting."
],
"list": [],
"cta": null
}
],
"outro": [
"Not every store needs every capability. The right mix depends on where the business has room to create more valuable growth."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "E-COMMERCE DIGITAL MARKETING FAQS",
"title": "Questions E-Commerce Brands Ask About Digital Growth",
"intro": [],
"items": [
{
"kicker": null,
"title": "How can digital marketing help an e-commerce business grow revenue?",
"subtitle": null,
"body": [
"Digital marketing can increase product and brand discovery, attract qualified shoppers, improve the buying experience, and support repeat purchases. The strongest strategy considers revenue alongside acquisition cost, conversion, margins, average order value, and customer lifetime value."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How can e-commerce brands reduce customer acquisition cost?",
"subtitle": null,
"body": [
"Reducing CAC can involve improving audience and campaign efficiency, increasing organic visibility, strengthening conversion rates, improving creative and positioning, and generating more repeat business. The right approach depends on where acquisition costs are being created."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does SEO help an e-commerce store?",
"subtitle": null,
"body": [
"E-commerce SEO can improve visibility for category, product, comparison, and problem-based searches. Technical structure, category pages, product information, internal linking, and useful supporting content can all contribute to stronger organic discovery."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can e-commerce products appear in AI search results?",
"subtitle": null,
"body": [
"AI platforms may retrieve or reference product and brand information when answering relevant questions. Clear product data, strong brand information, useful content, authority, and structured information can improve how a business is understood. No LLMO strategy can guarantee a product will be recommended or cited."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Should e-commerce brands focus on new customers or repeat customers?",
"subtitle": null,
"body": [
"Most established e-commerce businesses need to understand both. New customer acquisition creates growth, while repeat purchasing can improve the economics of that acquisition. The appropriate balance depends on the product, purchase frequency, margins, and customer behavior."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which e-commerce metrics matter most?",
"subtitle": null,
"body": [
"Useful metrics can include revenue, CAC, conversion rate, average order value, repeat purchase rate, customer lifetime value, margins, and channel contribution. The right scorecard depends on the business model and the quality of the available data."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "faq"
},
{
"eyebrow": "GROWTH LOOKS DIFFERENT EVERYWHERE",
"title": "Explore How We Approach Other Industries.",
"intro": [
"E-commerce revolves around products, acquisition economics, conversion, and customer value. Other industries bring different customer journeys and growth priorities."
],
"items": [
{
"kicker": null,
"title": "Hospitality",
"subtitle": null,
"body": [
"Build direct demand across destination discovery, search, AI, media, and the booking journey."
],
"list": [],
"cta": "EXPLORE HOSPITALITY"
},
{
"kicker": null,
"title": "Medical & Dental",
"subtitle": null,
"body": [
"Build visibility and trust while helping the right patients move from research to appointment."
],
"list": [],
"cta": "EXPLORE MEDICAL & DENTAL"
},
{
"kicker": null,
"title": "Automotive",
"subtitle": null,
"body": [
"Connect vehicle discovery, local search, paid acquisition, and digital experiences with sales and service demand."
],
"list": [],
"cta": "EXPLORE AUTOMOTIVE"
},
{
"kicker": null,
"title": "B2B",
"subtitle": null,
"body": [
"Build visibility earlier in longer buying journeys and turn research into qualified pipeline."
],
"list": [],
"cta": "EXPLORE B2B"
}
],
"outro": [],
"ctas": [
"VIEW ALL INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "MAKE THE NEXT ORDER MORE VALUABLE",
"title": "Build E-Commerce Growth Around Better Economics.",
"intro": [
"Your customers are already searching, comparing, scrolling, asking, buying, and deciding whether to come back.",
"The opportunity is not simply to generate more orders. It is to build a stronger system for acquiring customers, converting demand, and creating more value from the relationships that follow.",
"Tell us where you want the store to grow. We’ll build the strategy around your products, customers, and economics."
],
"items": [],
"outro": [],
"ctas": [
"GROW E-COMMERCE REVENUE"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,653 @@
{
"slug": "industries_home-services",
"path": "/industries/home-services",
"meta": {
"title": "Home Services Digital Marketing | AI Growth Technologies",
"description": "Generate qualified home service leads with local SEO, paid media, AI visibility, web optimization, and digital strategy built around your service area."
},
"hero": {
"eyebrow": "HOME SERVICES | WIN THE LOCAL DECISION",
"title": "Turn Local Search Into Qualified Service Demand.",
"intro": [
"When the AC stops cooling, a pipe starts leaking, or a roof needs attention, homeowners do not spend weeks building a shortlist.",
"They search. They compare. They check reviews, service areas, availability, and whether a company looks trustworthy enough to call.",
"AI Growth Technologies connects local SEO, paid media, AI visibility, and the website experience around turning local demand into qualified calls, inquiries, and booked jobs."
],
"items": [],
"outro": [],
"ctas": [
"GROW LOCAL SERVICE DEMAND"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "THE CUSTOMER USUALLY HAS A JOB IN MIND",
"title": "Be Easy to Find When Someone Needs the Work Done.",
"intro": [
"Home services marketing often starts with a specific problem in a specific place. That makes relevance, proximity, and timing especially important."
],
"items": [
{
"kicker": null,
"title": "Problem-Based Search",
"subtitle": null,
"body": [
"Customers search what is happening before they necessarily know which company they need. Build visibility around the problems and services your business actually solves."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Local Comparison",
"subtitle": null,
"body": [
"Once providers appear, homeowners compare reviews, service areas, experience, availability, and the information each company provides."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "The Call or Booking",
"subtitle": null,
"body": [
"When intent is high, the next step should be obvious. Phone calls, quote requests, scheduling, and other conversion paths should be easy to use."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "The Next Service Need",
"subtitle": null,
"body": [
"A completed job can lead to maintenance, additional services, referrals, or future work when the business stays recognizable."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "LOCAL SEO IS PART OF THE SALES PIPELINE",
"title": "Own More of the Search Across the Areas You Serve.",
"intro": [
"A contractor can have an excellent reputation and still lose opportunities if competitors consistently appear first when local customers search."
],
"items": [
{
"kicker": null,
"title": "Build Service Visibility",
"subtitle": null,
"body": [
"Use SEO to strengthen visibility around the services customers are actively looking for."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Location Relevance",
"subtitle": null,
"body": [
"Connect those services with the cities, communities, and service areas where the business genuinely operates."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Strengthen Local Signals",
"subtitle": null,
"body": [
"Keep business, location, service, and other important local information clear and consistent across the digital presence."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Create Useful Service Pages",
"subtitle": null,
"body": [
"Give customers useful information about the work they need instead of sending every search to the same generic page."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is not visibility everywhere. It is stronger visibility where the business can actually take the job."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "NOT EVERY LEAD IS A GOOD LEAD",
"title": "Generate Demand the Business Can Actually Serve.",
"intro": [
"A full lead inbox means little if the requests are outside the service area, for work the company does not provide, or too expensive to acquire profitably."
],
"items": [
{
"kicker": null,
"title": "Prioritize Valuable Services",
"subtitle": null,
"body": [
"Give more attention to the services, job types, and opportunities the business wants to grow."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Target the Right Markets",
"subtitle": null,
"body": [
"Use paid media to concentrate spend around the locations where the company operates."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Respond to Demand Changes",
"subtitle": null,
"body": [
"Weather, seasons, emergencies, and local conditions can change which home services customers need and when they need them."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Measure Lead Quality",
"subtitle": null,
"body": [
"Look beyond form submissions to understand which campaigns and searches are producing meaningful opportunities."
],
"list": [],
"cta": null
}
],
"outro": [
"More leads are useful only when enough of them can become good jobs."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "HOMEOWNERS ARE ASKING AI WHO CAN HELP",
"title": "Local Discovery Is Expanding Beyond Traditional Search.",
"intro": [
"People can now ask AI platforms questions about home repairs, maintenance, costs, warning signs, contractor selection, and what type of professional they may need.",
"That creates another opportunity for useful home service expertise to be discovered."
],
"items": [
{
"kicker": null,
"title": "Explain the Work Clearly",
"subtitle": null,
"body": [
"Build accurate information around services, common problems, maintenance needs, and the situations in which professional help may be appropriate."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Make the Business Easier to Understand",
"subtitle": null,
"body": [
"Clarify services, service areas, expertise, and other important business information that helps establish what the company actually does."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Connect AI Visibility With Search",
"subtitle": null,
"body": [
"Our LLMO and AI visibility work strengthens the information and context AI systems may use when understanding and retrieving information about a business."
],
"list": [],
"cta": null
}
],
"outro": [
"No strategy can guarantee an AI recommendation. The opportunity is to strengthen how clearly the business and its expertise are represented across emerging discovery experiences."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE PHONE CAN RING BEFORE SOMEONE READS THE WHOLE PAGE",
"title": "Make High-Intent Visitors Easy to Convert.",
"intro": [
"Home service customers may arrive with a problem they want solved quickly. The website should respect that urgency without turning the experience into pressure."
],
"items": [
{
"kicker": null,
"title": "Put Important Information Up Front",
"subtitle": null,
"body": [
"Make services, service areas, contact information, and the next step easy to find."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Design for Mobile",
"subtitle": null,
"body": [
"Someone standing beside a leaking pipe or broken AC unit may be searching from a phone. The experience has to work there first."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Make Contact Simple",
"subtitle": null,
"body": [
"Calls, quote requests, appointment requests, and other appropriate actions should not be buried."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Confidence Quickly",
"subtitle": null,
"body": [
"Clear service information, credentials where relevant, reviews, project examples, and straightforward expectations can help customers decide whether to make contact."
],
"list": [],
"cta": null
}
],
"outro": [
"Our web development approach connects usability, speed, search visibility, and conversion around real customer behavior."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT FOR DIFFERENT HOME SERVICE BUSINESSES",
"title": "The Job Changes. So Does the Search.",
"intro": [
"A homeowner looking for emergency plumbing does not behave like someone planning a new landscape. The growth strategy has to reflect that difference."
],
"items": [
{
"kicker": null,
"title": "HVAC",
"subtitle": null,
"body": [
"Capture seasonal, emergency, replacement, repair, and maintenance demand across the markets the company serves."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Plumbing",
"subtitle": null,
"body": [
"Build visibility around urgent problems, repairs, installations, and planned plumbing services while making contact fast and straightforward."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Roofing & Exteriors",
"subtitle": null,
"body": [
"Support longer consideration cycles around inspections, repairs, replacements, exterior projects, and location-specific demand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Landscaping",
"subtitle": null,
"body": [
"Connect local discovery with recurring maintenance, seasonal work, landscape improvements, and larger planned projects."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "ONE SERVICE AREA CAN CONTAIN VERY DIFFERENT MARKETS",
"title": "Grow Where the Business Has Room to Grow.",
"intro": [
"Home service businesses rarely need equal demand from every ZIP code, service, or territory."
],
"items": [
{
"kicker": null,
"title": "Find the Stronger Markets",
"subtitle": null,
"body": [
"Understand where demand, competition, job value, and operational capacity create better growth opportunities."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Match Services to Locations",
"subtitle": null,
"body": [
"A business may want more HVAC replacements in one market, maintenance agreements in another, and less low-value demand somewhere else."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Support Expansion Deliberately",
"subtitle": null,
"body": [
"When entering a new service area, build the local search presence, advertising, website information, and market awareness needed to support it."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Respect Operational Capacity",
"subtitle": null,
"body": [
"Marketing should not generate demand faster than the business can answer calls, schedule crews, and deliver the work well."
],
"list": [],
"cta": null
}
],
"outro": [
"Growth becomes more useful when marketing and operations can support each other."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE LEAD IS NOT THE FINISH LINE",
"title": "Measure What Turns Into Real Work.",
"intro": [
"Cost per lead can be useful. It becomes much more valuable when the business can connect marketing with what happened after the inquiry."
],
"items": [
{
"kicker": null,
"title": "Qualified Leads",
"subtitle": null,
"body": [
"Separate genuine service opportunities from irrelevant, duplicate, or poorly matched inquiries."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Booked Jobs",
"subtitle": null,
"body": [
"Where reliable data is available, understand which marketing sources are contributing to work that actually gets scheduled."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Service-Level Performance",
"subtitle": null,
"body": [
"Compare demand and acquisition performance across different services rather than treating every lead as equally valuable."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Market-Level Performance",
"subtitle": null,
"body": [
"Understand how lead quality, acquisition cost, and demand change between service areas."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is a clearer view of which marketing activity is helping create work the business actually wants."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT STRATEGY DEPENDS ON THE CONTRACTOR",
"title": "Build Around Your Services, Territory, and Capacity.",
"intro": [
"A single-location plumbing company and a multi-market home services group may compete for similar searches, but they do not have the same growth problem."
],
"items": [
{
"kicker": null,
"title": "Start With the Business",
"subtitle": null,
"body": [
"Understand services, job values, margins, service areas, team capacity, seasonality, and the work the company wants more of."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Read the Local Market",
"subtitle": null,
"body": [
"Competition, search demand, geography, weather, housing patterns, and customer expectations can change from one market to another."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Choose What Belongs",
"subtitle": null,
"body": [
"The strategy may bring together SEO, paid media, AI visibility, web development, social media, brand, and digital marketing consulting."
],
"list": [],
"cta": null
}
],
"outro": [
"The right mix depends on where the company operates, which jobs it wants, and how much demand the operation can successfully handle."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "HOME SERVICES DIGITAL MARKETING FAQS",
"title": "Questions Home Service Businesses Ask About Digital Growth",
"intro": [],
"items": [
{
"kicker": null,
"title": "How can digital marketing generate more home service leads?",
"subtitle": null,
"body": [
"Digital marketing can help contractors become visible when local customers search for relevant services, reach high-intent audiences through paid media, improve the website conversion path, and build recognition across the markets they serve. The focus should be qualified opportunities rather than lead volume alone."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does local SEO help home service companies?",
"subtitle": null,
"body": [
"Local SEO helps businesses improve visibility for relevant services and locations. This can include service pages, location information, local business signals, useful content, and technical improvements that make the business easier for search engines and customers to understand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can home service businesses improve visibility in AI search?",
"subtitle": null,
"body": [
"Clear service information, useful expert content, strong business information, and relevant authority signals can help AI systems better understand a company and its expertise. This may improve retrieval when relevant, but no strategy can guarantee that an AI platform will recommend a particular contractor."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How can home service companies improve lead quality?",
"subtitle": null,
"body": [
"Lead quality can improve by targeting the right services and locations, aligning campaign messaging with the work the company actually performs, improving landing pages, and using downstream business data where available to understand which inquiries become worthwhile jobs."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Should home service businesses use SEO or paid media?",
"subtitle": null,
"body": [
"They can serve different purposes. Paid media can capture demand quickly and support specific services or markets, while SEO can build longer-term organic visibility. For many businesses, the strongest mix depends on competition, budget, service priorities, and how quickly demand is needed."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which marketing metrics should home service companies track?",
"subtitle": null,
"body": [
"Useful measures can include qualified leads, calls, quote or appointment requests, booked jobs, cost per qualified lead, acquisition cost, service-level demand, local search visibility, and market-level performance. The right scorecard depends on the data the business can reliably connect to marketing."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "faq"
},
{
"eyebrow": "GROWTH LOOKS DIFFERENT EVERYWHERE",
"title": "Explore How We Approach Other Industries.",
"intro": [
"Home services are driven by local demand, service territory, operational capacity, and job value. Other industries bring different growth challenges."
],
"items": [
{
"kicker": null,
"title": "Automotive",
"subtitle": null,
"body": [
"Connect vehicle discovery, local search, paid acquisition, and digital experiences with sales and service demand."
],
"list": [],
"cta": "EXPLORE AUTOMOTIVE"
},
{
"kicker": null,
"title": "Medical & Dental",
"subtitle": null,
"body": [
"Build visibility and trust while helping the right patients move from research to appointment."
],
"list": [],
"cta": "EXPLORE MEDICAL & DENTAL"
},
{
"kicker": null,
"title": "E-Commerce",
"subtitle": null,
"body": [
"Grow customer acquisition and revenue while keeping conversion, acquisition costs, margins, and customer value in view."
],
"list": [],
"cta": "EXPLORE E-COMMERCE"
},
{
"kicker": null,
"title": "B2B",
"subtitle": null,
"body": [
"Build visibility earlier in longer buying journeys and turn research into qualified pipeline."
],
"list": [],
"cta": "EXPLORE B2B"
}
],
"outro": [],
"ctas": [
"VIEW ALL INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "TURN LOCAL DEMAND INTO REAL WORK",
"title": "Win More of the Jobs Your Business Wants.",
"intro": [
"Your next customer may already be searching for a contractor, comparing local companies, checking reviews, or trying to understand what their home needs.",
"The opportunity is to be easier to find at that moment and make the path from search to service straightforward.",
"Tell us which services and markets you want to grow. We’ll build the strategy around the work your business wants more of."
],
"items": [],
"outro": [],
"ctas": [
"GROW LOCAL SERVICE DEMAND"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,562 @@
{
"slug": "industries_hospitality",
"path": "/industries/hospitality",
"meta": {
"title": "Hospitality Digital Marketing | AI Growth Technologies",
"description": "Grow direct bookings and guest demand with hospitality SEO, paid media, AI visibility, web optimization, and digital growth strategy."
},
"hero": {
"eyebrow": "HOSPITALITY | TURN LOOKERS INTO GUESTS",
"title": "Grow Direct Bookings, Not Just Website Traffic.",
"intro": [
"Travelers rarely go straight from discovering a hotel to booking it.",
"They search destinations, compare properties, check maps and reviews, browse OTAs, visit hotel websites, scroll social media, and increasingly ask AI platforms where to stay.",
"AI Growth Technologies connects SEO, paid media, AI visibility, and the website experience around the moment that matters most: turning interest into a direct booking."
],
"items": [],
"outro": [],
"ctas": [
"GROW DIRECT BOOKINGS"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "THE BOOKING STARTS BEFORE THE BOOKING ENGINE",
"title": "Be There While Guests Are Still Deciding Where to Stay.",
"intro": [
"A future guest may discover your property long before they are ready to reserve a room. Every interaction between that first search and the final booking can influence the decision."
],
"items": [
{
"kicker": null,
"title": "Destination Discovery",
"subtitle": null,
"body": [
"Build visibility around the destinations, experiences, neighborhoods, and travel needs your future guests are already researching."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Property Consideration",
"subtitle": null,
"body": [
"Give travelers the information, positioning, imagery, reviews, offers, and experiences they need to put your property on the shortlist."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Direct Booking",
"subtitle": null,
"body": [
"Make the path from interest to reservation clear, fast, and persuasive across devices."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Guest Return",
"subtitle": null,
"body": [
"Stay relevant after the first stay through stronger brand recognition, audience strategy, and direct customer relationships."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "OTAS CAN BRING DEMAND. YOUR BRAND SHOULD BUILD ITS OWN.",
"title": "Give More Guests a Reason to Book Direct.",
"intro": [
"OTAs remain an important part of hospitality discovery and distribution. The opportunity is to build more demand your property can influence directly."
],
"items": [
{
"kicker": null,
"title": "Get Found Before the OTA",
"subtitle": null,
"body": [
"Use SEO, destination content, and AI discovery to reach travelers while they are still researching where to stay."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Bring Interested Guests Back",
"subtitle": null,
"body": [
"Use paid media and remarketing to reconnect with travelers who have already shown interest in the property."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Make Direct Worth Choosing",
"subtitle": null,
"body": [
"Give guests a strong reason to continue through your website, from clear offers and useful property information to a smoother booking experience."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is not to eliminate third-party channels. It is to build more demand your property can influence itself."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "SEARCH IS BECOMING A CONVERSATION",
"title": "Travelers Are Asking AI Where They Should Stay.",
"intro": [
"Travel planning is expanding beyond traditional search. People can now ask ChatGPT, Gemini, AI Overviews, and other generative platforms about destinations, neighborhoods, hotels, restaurants, itineraries, and experiences."
],
"items": [
{
"kicker": null,
"title": "Be Understood",
"subtitle": null,
"body": [
"Make important information about the property, location, amenities, experiences, and brand easier for AI systems to interpret."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build the Right Signals",
"subtitle": null,
"body": [
"Strengthen the authority, structure, context, and supporting information that can contribute to AI retrieval and visibility."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Connect AI With Search",
"subtitle": null,
"body": [
"Our LLMO and AI visibility work complements traditional SEO rather than treating AI discovery as a separate strategy."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT GUEST MATTERS MORE THAN MORE CLICKS",
"title": "Build Campaigns Around Bookings, Revenue, and Demand.",
"intro": [
"Hospitality media should do more than generate traffic. Campaigns should reflect where travelers are in the decision and what the property needs commercially."
],
"items": [
{
"kicker": null,
"title": "Direct Booking Demand",
"subtitle": null,
"body": [
"Reach travelers actively comparing destinations, properties, stays, and experiences."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Seasonal & Offer Campaigns",
"subtitle": null,
"body": [
"Build demand around relevant travel periods, packages, events, promotions, and need dates."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Remarketing",
"subtitle": null,
"body": [
"Reconnect with travelers who considered the property but left before completing a reservation."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Market Expansion",
"subtitle": null,
"body": [
"Reach relevant domestic and international audiences when the property wants to grow demand from new feeder markets."
],
"list": [],
"cta": null
}
],
"outro": [
"Our paid media strategy connects those opportunities with the audiences, markets, and booking outcomes that matter to the property."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE WEBSITE HAS TO FINISH THE JOB",
"title": "A Great Property Deserves a Better Booking Experience.",
"intro": [
"Getting travelers to the website is only part of the work. The experience after they arrive can determine whether interest becomes a reservation."
],
"items": [
{
"kicker": null,
"title": "Answer the Booking Questions",
"subtitle": null,
"body": [
"Rooms, amenities, location, dining, experiences, policies, offers, and availability should be easy to understand and explore."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Make Mobile Easy",
"subtitle": null,
"body": [
"Travel research happens across devices. The experience should remain fast and intuitive wherever the guest arrives."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Shorten the Path to Booking",
"subtitle": null,
"body": [
"Our web development approach connects performance, usability, search visibility, conversion paths, and the handoff into the booking engine."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT FOR DIFFERENT HOSPITALITY BUSINESSES",
"title": "The Guest Journey Changes With the Experience You Sell.",
"intro": [
"Hospitality businesses may compete for the same traveler’s attention, but the decisions behind the purchase can be very different."
],
"items": [
{
"kicker": null,
"title": "Boutique Hotels",
"subtitle": null,
"body": [
"Strengthen local and destination visibility, communicate what makes the property distinctive, and turn high-intent interest into more direct reservations."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Luxury Resorts",
"subtitle": null,
"body": [
"Connect destination discovery, premium positioning, international audience strategy, experiences, and direct booking demand across a longer consideration journey."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Fine Dining",
"subtitle": null,
"body": [
"Build visibility around cuisine, location, occasions, reputation, and local discovery while making the path to reservation clear."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Travel Agencies",
"subtitle": null,
"body": [
"Reach travelers during destination research and trip planning, build authority around relevant experiences, and turn discovery into qualified inquiries and bookings."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "HOSPITALITY GROWTH HAS ITS OWN SCORECARD",
"title": "Measure What Happens After the Click.",
"intro": [
"Traffic, rankings, and impressions tell part of the story. Hospitality performance eventually has to connect with commercial outcomes."
],
"items": [
{
"kicker": null,
"title": "Direct Booking Performance",
"subtitle": null,
"body": [
"Track how effectively owned digital channels contribute to direct reservations and booking conversion."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Acquisition Economics",
"subtitle": null,
"body": [
"Understand what it costs to generate demand and how performance differs across campaigns, markets, and channels."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Hotel Performance",
"subtitle": null,
"body": [
"Where the available data supports it, connect digital activity with revenue, occupancy, RevPAR, and wider property performance."
],
"list": [],
"cta": null
}
],
"outro": [
"The purpose of measurement is not to create another dashboard. It is to make the next growth decision better."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT MIX DEPENDS ON THE PROPERTY",
"title": "Build the Hospitality Strategy Around Your Market.",
"intro": [
"A city hotel competing for weekday business demand should not use the same growth plan as a destination resort influencing international leisure travelers months before arrival."
],
"items": [
{
"kicker": null,
"title": "Start With the Property",
"subtitle": null,
"body": [
"Look at the experience being sold, commercial priorities, capacity, positioning, and current sources of demand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Understand the Market",
"subtitle": null,
"body": [
"Geography, seasonality, competitive set, feeder markets, and guest behavior shape where the strongest opportunities sit."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Choose What Belongs",
"subtitle": null,
"body": [
"The strategy may bring together SEO, paid media, AI visibility, social media, brand, web development, and digital marketing consulting."
],
"list": [],
"cta": null
}
],
"outro": [
"Not every property needs everything. It needs the right combination for the demand it wants to create."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "HOSPITALITY DIGITAL MARKETING FAQS",
"title": "Questions Hospitality Businesses Ask About Digital Growth",
"intro": [],
"items": [
{
"kicker": null,
"title": "How can hotels increase direct bookings?",
"subtitle": null,
"body": [
"Hotels can strengthen direct booking demand by improving organic visibility, paid acquisition, destination discovery, brand recognition, website experience, and the path into the booking engine. The right mix depends on the property, target markets, competitive landscape, and existing distribution strategy."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How can SEO help a hotel or resort?",
"subtitle": null,
"body": [
"Hotel SEO can improve visibility for searches related to the property, destination, location, accommodations, amenities, experiences, and relevant travel intent. It can also help travelers find useful information while they are comparing where to stay."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can AI visibility help hospitality businesses?",
"subtitle": null,
"body": [
"AI platforms are increasingly part of travel research. Strengthening clear, authoritative, well-structured information about a property can improve its ability to be understood and retrieved when relevant travel questions are answered by AI systems. AI visibility should complement, rather than replace, traditional SEO."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Should hotels stop relying on OTAs?",
"subtitle": null,
"body": [
"Not necessarily. OTAs can remain valuable distribution and discovery channels. A direct growth strategy is about building additional demand the property can influence itself, giving travelers more opportunities to discover the brand and book through its owned channels."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which paid media channels work best for hospitality?",
"subtitle": null,
"body": [
"The right channels depend on the property, audience, geography, seasonality, and booking objective. Search can capture existing intent, while social and other media can support discovery, consideration, remarketing, and demand generation. Channel selection should follow the guest journey rather than a fixed hospitality playbook."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What hospitality metrics should digital marketing track?",
"subtitle": null,
"body": [
"Useful metrics can include direct bookings, booking conversion rate, acquisition cost, revenue, occupancy, RevPAR, website engagement, search visibility, and channel contribution. The most important measures depend on the property's commercial goals and the quality of the available booking and attribution data."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "faq"
},
{
"eyebrow": "GROWTH LOOKS DIFFERENT EVERYWHERE",
"title": "Explore How We Approach Other Industries.",
"intro": [
"Hospitality has its own customer journey, economics, and conversion points. So does every market we work in."
],
"items": [
{
"kicker": null,
"title": "Medical & Dental",
"subtitle": null,
"body": [
"Build visibility and trust while helping the right patients move from research to appointment."
],
"list": [],
"cta": "EXPLORE MEDICAL & DENTAL"
},
{
"kicker": null,
"title": "Automotive",
"subtitle": null,
"body": [
"Connect vehicle discovery, local search, paid acquisition, and digital experiences with inquiries, appointments, and showroom activity."
],
"list": [],
"cta": "EXPLORE AUTOMOTIVE"
},
{
"kicker": null,
"title": "E-commerce",
"subtitle": null,
"body": [
"Grow customer acquisition and revenue while keeping conversion, acquisition costs, margins, and customer value in view."
],
"list": [],
"cta": "EXPLORE E-COMMERCE"
},
{
"kicker": null,
"title": "Home Services",
"subtitle": null,
"body": [
"Turn local search demand into qualified opportunities across the services and markets your business wants to grow."
],
"list": [],
"cta": "EXPLORE HOME SERVICES"
}
],
"outro": [],
"ctas": [
"VIEW ALL INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "TURN MORE TRAVEL INTEREST INTO DIRECT DEMAND",
"title": "Build a Stronger Path From Discovery to Booking.",
"intro": [
"Your future guests are already searching, comparing, asking, scrolling, and deciding.",
"The opportunity is to make your property easier to discover, easier to choose, and easier to book.",
"Tell us where you want demand to grow. We’ll build the strategy around the guest journey that gets you there."
],
"items": [],
"outro": [],
"ctas": [
"GROW DIRECT BOOKINGS"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,644 @@
{
"slug": "industries_medical-dental",
"path": "/industries/medical-dental",
"meta": {
"title": "Medical & Dental Marketing | AI Growth Technologies",
"description": "Grow patient demand with medical and dental SEO, paid media, AI visibility, web optimization, and digital strategy built around patient trust."
},
"hero": {
"eyebrow": "MEDICAL & DENTAL | BE FOUND. EARN TRUST.",
"title": "Turn Patient Search Into Patient Growth.",
"intro": [
"Choosing a healthcare provider is rarely an instant decision.",
"Patients search symptoms, treatments, specialists, locations, reviews, credentials, costs, and what to expect. Increasingly, they also ask AI platforms questions before deciding which providers to research further.",
"AI Growth Technologies connects SEO, paid media, AI visibility, and the website experience around a patient journey built on visibility, clarity, and trust."
],
"items": [],
"outro": [],
"ctas": [
"GROW PATIENT DEMAND"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "THE PATIENT JOURNEY STARTS BEFORE THE APPOINTMENT",
"title": "Be Present While Patients Are Still Researching Their Options.",
"intro": [
"Someone may search a condition first, a treatment next, and a provider only after they understand what kind of care they need.",
"Your digital presence has to support those different moments."
],
"items": [
{
"kicker": null,
"title": "Early Research",
"subtitle": null,
"body": [
"Build useful visibility around the conditions, treatments, procedures, and questions relevant to your practice."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Provider Comparison",
"subtitle": null,
"body": [
"Help patients understand your expertise, services, locations, credentials, and approach to care when they begin comparing options."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Appointment Decision",
"subtitle": null,
"body": [
"Make the next step clear for patients who are ready to call, request an appointment, or take another appropriate action."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Ongoing Relationship",
"subtitle": null,
"body": [
"Create a useful digital experience for existing patients who return for information, services, locations, or future care."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "LOCAL VISIBILITY CAN DECIDE WHO MAKES THE SHORTLIST",
"title": "Be Easier to Find When Patients Are Looking Nearby.",
"intro": [
"For many practices, the search for care is also a search for care in the right location."
],
"items": [
{
"kicker": null,
"title": "Strengthen Local Discovery",
"subtitle": null,
"body": [
"Improve visibility around relevant services, specialties, and geographic areas through SEO."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Stronger Location Signals",
"subtitle": null,
"body": [
"Give search engines and patients clear information about where you operate, what services are available, and which locations provide them."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Match the Search to the Service",
"subtitle": null,
"body": [
"A patient searching for a specific treatment should land somewhere that answers that need, not on a generic page that makes them search again."
],
"list": [],
"cta": null
}
],
"outro": [
"Local visibility is not simply about appearing on a map. It is about being relevant to the care the patient is actually looking for."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "HEALTHCARE SEARCH IS CHANGING TOO",
"title": "Patients Are Asking AI Health Questions Before Choosing Providers.",
"intro": [
"Search is no longer the only place people begin researching healthcare.",
"Patients can ask ChatGPT, Gemini, AI Overviews, and other generative platforms questions about conditions, treatments, procedures, recovery, screening, and the type of provider they may need.",
"That makes clear, authoritative healthcare information increasingly important."
],
"items": [
{
"kicker": null,
"title": "Make the Practice Easier to Understand",
"subtitle": null,
"body": [
"Create clear information around services, specialties, providers, locations, and areas of expertise."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Strengthen Authority",
"subtitle": null,
"body": [
"Build useful content and supporting signals that establish who the practice is, what it does, and where its expertise sits."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Connect AI Visibility With SEO",
"subtitle": null,
"body": [
"Our LLMO and AI visibility work complements traditional search by strengthening the information and context AI systems may use when understanding and retrieving information about a practice."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is not to promise an AI recommendation. It is to make the practice and its expertise clearer across an evolving discovery environment."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "MORE LEADS ARE NOT THE SAME AS BETTER PATIENT ACQUISITION",
"title": "Build Campaigns Around the Patients You Actually Want to Reach.",
"intro": [
"A full appointment book starts with attracting the right demand, not simply generating more clicks or form submissions."
],
"items": [
{
"kicker": null,
"title": "Treatment-Specific Demand",
"subtitle": null,
"body": [
"Use paid media to reach people actively researching relevant treatments, procedures, and services."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Location-Based Acquisition",
"subtitle": null,
"body": [
"Focus campaigns around the geographic markets and practice locations where patient growth matters most."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "High-Value Services",
"subtitle": null,
"body": [
"Give priority treatments and procedures a strategy built around their economics, demand, and patient decision journey."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Smarter Remarketing",
"subtitle": null,
"body": [
"Reconnect with appropriate audiences who have already interacted with the practice while respecting applicable privacy requirements and platform policies."
],
"list": [],
"cta": null
}
],
"outro": [
"Campaign strategy should reflect both the business goals of the practice and the standards that come with healthcare marketing."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "TRUST HAS TO SURVIVE THE CLICK",
"title": "Your Website Is Part of the Patient Decision.",
"intro": [
"A patient who reaches the website is often looking for reassurance as much as information.",
"The experience should make the practice easier to understand and the next step easier to take."
],
"items": [
{
"kicker": null,
"title": "Explain Care Clearly",
"subtitle": null,
"body": [
"Services, treatments, provider information, locations, and common patient questions should be easy to find and understand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Make Credentials Visible",
"subtitle": null,
"body": [
"Help patients identify the expertise and professional information relevant to their decision without forcing them to hunt for it."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Reduce Appointment Friction",
"subtitle": null,
"body": [
"Make calls, appointment requests, location information, and other appropriate next steps easy to find across devices."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build for Search and Performance",
"subtitle": null,
"body": [
"Our web development approach considers usability, speed, search visibility, accessibility, and conversion alongside the wider patient experience."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "BUILT FOR DIFFERENT HEALTHCARE BUSINESSES",
"title": "The Patient Decision Changes With the Care Being Considered.",
"intro": [
"A routine dental visit and a specialty procedure do not have the same research process. Neither should their growth strategies."
],
"items": [
{
"kicker": null,
"title": "Dental Clinics",
"subtitle": null,
"body": [
"Build local visibility around preventive, restorative, cosmetic, and specialty dental services while making provider selection and appointment requests easier."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Med Spas",
"subtitle": null,
"body": [
"Connect treatment discovery, brand positioning, educational content, local visibility, and appropriate acquisition campaigns around services patients actively research."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Specialty Medicine",
"subtitle": null,
"body": [
"Support longer research journeys with authoritative information around conditions, treatments, specialists, credentials, and what patients can expect."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Primary Care",
"subtitle": null,
"body": [
"Strengthen local discovery, communicate available services clearly, and make it easier for prospective patients to understand where and how to access care."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "HEALTHCARE MARKETING NEEDS GUARDRAILS",
"title": "Growth Cannot Come at the Expense of Patient Trust.",
"intro": [
"Medical and dental marketing operates in an environment where privacy, accuracy, platform requirements, professional standards, and patient expectations matter."
],
"items": [
{
"kicker": null,
"title": "Protect Sensitive Information",
"subtitle": null,
"body": [
"Marketing and measurement decisions should account for the sensitivity of health-related information and the technologies handling it."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Keep Claims Responsible",
"subtitle": null,
"body": [
"Treatment and outcome messaging should be supportable, clear, and appropriate rather than built around guarantees or exaggerated promises."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Know the Platform Rules",
"subtitle": null,
"body": [
"Advertising platforms can apply additional restrictions to healthcare-related targeting, audience use, and messaging."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Build Compliance Into the Conversation",
"subtitle": null,
"body": [
"Marketing teams should work within the requirements relevant to the practice rather than treating compliance as something to consider after campaigns launch."
],
"list": [],
"cta": null
}
],
"outro": [
"AI Growth Technologies does not replace legal or regulatory counsel. The goal is to build growth strategies with the realities of healthcare marketing in view."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "PATIENT GROWTH NEEDS A BETTER SCORECARD",
"title": "Measure What Happens Beyond the Click.",
"intro": [
"Traffic and lead volume can be useful signals. They do not tell the whole story."
],
"items": [
{
"kicker": null,
"title": "Qualified Patient Inquiries",
"subtitle": null,
"body": [
"Understand whether marketing is attracting people looking for the services the practice actually provides."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Appointment Actions",
"subtitle": null,
"body": [
"Track appropriate calls, appointment requests, and other meaningful conversion actions where reliable measurement is available."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Acquisition Efficiency",
"subtitle": null,
"body": [
"Compare the cost and quality of demand across treatments, locations, campaigns, and channels."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Search & AI Visibility",
"subtitle": null,
"body": [
"Monitor how the practice appears across traditional search and emerging AI discovery as patient research behavior evolves."
],
"list": [],
"cta": null
}
],
"outro": [
"The goal is to understand which activities are contributing to useful patient demand, not simply which dashboard reports the most activity."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE RIGHT STRATEGY DEPENDS ON THE PRACTICE",
"title": "Build Around Your Services, Patients, and Market.",
"intro": [
"A multi-location dental group, a specialist physician, a primary care practice, and a med spa may all want patient growth. The path to it can be very different."
],
"items": [
{
"kicker": null,
"title": "Start With the Practice",
"subtitle": null,
"body": [
"Understand the services, providers, locations, capacity, priorities, and types of patients the organization is equipped to serve."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Understand the Market",
"subtitle": null,
"body": [
"Look at local competition, patient search behavior, service demand, geography, and the factors shaping provider choice."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Choose What Belongs",
"subtitle": null,
"body": [
"The strategy may bring together SEO, paid media, AI visibility, brand, social media, web development, and digital marketing consulting."
],
"list": [],
"cta": null
}
],
"outro": [
"Not every practice needs every channel. The right strategy starts with how patients choose care and where the practice has room to grow."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "MEDICAL & DENTAL DIGITAL MARKETING FAQS",
"title": "Questions Healthcare Practices Ask About Digital Growth",
"intro": [],
"items": [
{
"kicker": null,
"title": "How can digital marketing help medical and dental practices attract more patients?",
"subtitle": null,
"body": [
"Digital marketing can help practices become easier to discover when prospective patients research services, treatments, providers, and locations. SEO, paid media, useful content, AI visibility, and a stronger website experience can work together to support qualified patient demand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does SEO help doctors and dental practices?",
"subtitle": null,
"body": [
"Healthcare SEO can improve visibility for relevant treatment, service, provider, and location searches. It can also help practices answer patient questions and create clearer paths from early research to provider consideration."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can medical and dental practices improve visibility in AI search?",
"subtitle": null,
"body": [
"Practices can strengthen the clarity, authority, structure, and accessibility of information about their services and expertise. This can improve how AI systems understand and potentially retrieve that information when relevant. No strategy can guarantee that a particular AI platform will recommend or cite a practice."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can healthcare practices use paid advertising?",
"subtitle": null,
"body": [
"Yes, but healthcare advertising can be subject to platform policies, privacy requirements, professional rules, and other restrictions depending on the service and market. Campaigns should be planned around the requirements that apply to the practice and the advertising platform being used."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What should a medical or dental website include?",
"subtitle": null,
"body": [
"The website should clearly explain services, providers, locations, credentials, patient information, and appropriate next steps. It should also provide a fast, accessible, mobile-friendly experience that supports search visibility and makes important information easy to find."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which metrics should healthcare practices track?",
"subtitle": null,
"body": [
"Useful measures can include qualified inquiries, appointment actions, acquisition cost, conversion performance, service and location demand, organic visibility, and other business outcomes supported by reliable data. The right metrics depend on the practice and the measurement systems available."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "faq"
},
{
"eyebrow": "GROWTH LOOKS DIFFERENT EVERYWHERE",
"title": "Explore How We Approach Other Industries.",
"intro": [
"Healthcare has its own customer journey, responsibilities, and conversion points. Other markets bring different growth questions."
],
"items": [
{
"kicker": null,
"title": "Hospitality",
"subtitle": null,
"body": [
"Build direct demand across destination discovery, search, AI, media, and the booking journey."
],
"list": [],
"cta": "EXPLORE HOSPITALITY"
},
{
"kicker": null,
"title": "Automotive",
"subtitle": null,
"body": [
"Connect vehicle discovery, local search, paid acquisition, and digital experiences with inquiries, appointments, and showroom activity."
],
"list": [],
"cta": "EXPLORE AUTOMOTIVE"
},
{
"kicker": null,
"title": "Home Services",
"subtitle": null,
"body": [
"Turn local search demand into qualified opportunities across the services and markets the business wants to grow."
],
"list": [],
"cta": "EXPLORE HOME SERVICES"
},
{
"kicker": null,
"title": "B2B",
"subtitle": null,
"body": [
"Build visibility earlier in longer buying journeys and turn research into qualified pipeline."
],
"list": [],
"cta": "EXPLORE B2B"
}
],
"outro": [],
"ctas": [
"VIEW ALL INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "TURN PATIENT RESEARCH INTO PATIENT DEMAND",
"title": "Build a Stronger Path From Search to Appointment.",
"intro": [
"Your future patients are already researching conditions, comparing treatments, evaluating providers, and deciding who they trust enough to contact.",
"The opportunity is to make your practice easier to find, easier to understand, and easier to choose.",
"Tell us where you want patient demand to grow. We’ll build the strategy around the market, services, and patient journey that get you there."
],
"items": [],
"outro": [],
"ctas": [
"GROW PATIENT DEMAND"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+198
View File
@@ -0,0 +1,198 @@
{
"slug": "services",
"path": "/services",
"meta": {
"title": "Digital Growth Services | AI Growth Technologies",
"description": "Explore connected SEO, paid media, LLMO, web development, social media, branding, cybersecurity, and consulting built around business growth."
},
"hero": {
"eyebrow": "GROWTH DOESN’T HAPPEN IN SILOS.",
"title": "Your Best Channel Should Make Every Other Channel Better.",
"intro": [
"A customer might discover you through an ad, search your name a week later, visit your website twice, ask an AI platform about your category, and come back directly when they are ready to act.",
"To them, that is one experience.",
"Your growth strategy should see it the same way.",
"AI Growth Technologies connects search, paid media, AI visibility, web, brand, social, strategy, and technology around one goal: helping the business grow."
],
"items": [],
"outro": [],
"ctas": [
"TALK TO A GROWTH STRATEGIST"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "WHEN EVERY CHANNEL HAS ITS OWN PLAN",
"title": "Good Marketing Can Still Add Up to a Bad Growth System.",
"intro": [
"Your SEO team is chasing rankings. Paid media is optimising campaigns. Social is building engagement. The website team is working through its own list. Everyone is busy.",
"But is the business learning anything across those channels?",
"A high-converting paid search term could shape organic content. Search behaviour could reveal questions worth targeting in AI answers. Website data could expose where promising traffic disappears. Brand insights could improve the ads people see before they ever search for you.",
"When those signals stay inside separate teams and dashboards, the business misses part of their value.",
"We bring them together so what works in one place can make the next decision smarter."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "THE CAPABILITIES BEHIND THE SYSTEM",
"title": "Eight Services. Built Around the Same Growth Goal.",
"intro": [
"You may need one capability today and several tomorrow. The point is not to sell every service at once. It is to make sure the work you do invest in fits the bigger picture."
],
"items": [
{
"kicker": null,
"title": "Paid Media",
"subtitle": null,
"body": [
"Reach qualified audiences across search, social, programmatic, and CTV with campaigns built around acquisition, conversion, and measurable business outcomes.",
"Better campaign data also gives the wider strategy something useful to learn from."
],
"list": [],
"cta": "EXPLORE PAID MEDIA"
},
{
"kicker": null,
"title": "SEO",
"subtitle": null,
"body": [
"Improve technical performance, content, authority, and organic visibility so your business appears for searches that can lead somewhere valuable.",
"We look beyond rankings to the traffic, intent, and opportunities behind them."
],
"list": [],
"cta": "EXPLORE SEO"
},
{
"kicker": null,
"title": "LLMO & AI Visibility",
"subtitle": null,
"body": [
"Help your brand become easier for ChatGPT, Gemini, AI Overviews, and other generative platforms to understand, retrieve, and surface.",
"As discovery changes, we connect traditional search visibility with the growing influence of AI-generated answers."
],
"list": [],
"cta": "EXPLORE LLMO & AI VISIBILITY"
},
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"Build fast, scalable websites and applications around the people using them and the actions you want them to take.",
"Because traffic from search, ads, social, or AI is only valuable when the experience after the click does its job."
],
"list": [],
"cta": "EXPLORE WEB DEVELOPMENT"
},
{
"kicker": null,
"title": "Social Media",
"subtitle": null,
"body": [
"Build recognition and stay relevant through content, community, international account strategy, and paid amplification.",
"The goal is not simply to keep accounts active. It is to give the brand a useful presence between moments of active search and purchase."
],
"list": [],
"cta": "EXPLORE SOCIAL MEDIA"
},
{
"kicker": null,
"title": "Brand Creation & Optimization",
"subtitle": null,
"body": [
"Clarify how your business looks, sounds, and positions itself so people recognise the same company wherever they encounter it.",
"Strong positioning gives search, media, social, and web a clearer message to carry."
],
"list": [],
"cta": "EXPLORE BRAND"
},
{
"kicker": null,
"title": "Digital Marketing Consulting",
"subtitle": null,
"body": [
"Get a senior view across channels when the problem is bigger than any one of them.",
"We use audits, growth strategy, practical roadmaps, and fractional advisory to identify what deserves attention, what can wait, and where the next investment makes sense."
],
"list": [],
"cta": "EXPLORE CONSULTING"
},
{
"kicker": null,
"title": "Cybersecurity",
"subtitle": null,
"body": [
"Strengthen the digital systems your business increasingly relies on through assessment, hardening, monitoring, and response.",
"Powered by Korrith, cybersecurity becomes part of maintaining a dependable digital operation as the business grows."
],
"list": [],
"cta": "EXPLORE CYBERSECURITY"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "THE VALUE IS IN WHAT CONNECTS",
"title": "One Useful Signal Should Never Stop at One Channel.",
"intro": [
"A paid campaign tells us which message gets attention. Search data tells us what people are actively looking for. AI visibility shows where the brand is entering new forms of discovery. Website behaviour tells us what happens when people arrive.",
"None of those signals needs to live alone.",
"We use what the business is already learning to improve what happens next.",
"That is where an integrated growth system becomes more valuable over time. Not because there are more channels, but because each one gives the others better information."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "SAME SYSTEM. DIFFERENT REALITY.",
"title": "Different Industries Change the Playbook.",
"intro": [
"The fundamentals of growth may travel. Customer behaviour does not.",
"A hospitality company doesn't acquire customers the same way a B2B organisation does. Medical and dental businesses operate within different constraints than e-commerce brands.",
"Home services, automotive companies, and creators each have their own buying cycles, competition, search behaviour, and conversion points.",
"We keep the capabilities connected while adapting the strategy to the market they have to perform in."
],
"items": [],
"outro": [],
"ctas": [
"EXPLORE INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "WHAT DOES GROWTH NEED NEXT?",
"title": "Build the Right Growth Mix for Your Business.",
"intro": [
"Maybe paid acquisition is getting expensive. Organic growth has slowed. Your website is getting traffic but not enough action. Or AI is changing how customers discover businesses like yours.",
"You do not need to arrive knowing which service fixes it.",
"Bring us what you are seeing. We’ll look at the bigger picture, find the strongest opportunities, and work out what should happen next."
],
"items": [],
"outro": [],
"ctas": [
"BUILD MY GROWTH PLAN"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+415
View File
@@ -0,0 +1,415 @@
{
"slug": "services_brand",
"path": "/services/brand",
"meta": {
"title": "Brand Strategy & Identity | AI Growth Technologies",
"description": "Build a distinctive brand through positioning, naming, visual identity, messaging, guidelines, and brand optimization for every customer touchpoint."
},
"hero": {
"eyebrow": "BE RECOGNIZED BEFORE YOU’RE REMEMBERED.",
"title": "Make Your Brand Easier to Know, Choose, and Remember.",
"intro": [
"People rarely experience a brand all at once.",
"They see an ad. Find a search result. Land on a page. Scroll past a post. Hear the name from someone else. Come back weeks later.",
"Each encounter either reinforces the same impression or makes them start over.",
"AI Growth Technologies builds brand systems that give businesses a clear position, recognizable identity, distinct voice, and consistent way to show up wherever customers find them."
],
"items": [],
"outro": [],
"ctas": [
"BUILD MY BRAND SYSTEM"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "A LOGO CAN’T CARRY THE WHOLE BRAND",
"title": "Your Brand Is Everything People Learn to Recognize About You.",
"intro": [
"The name matters. So does the logo.",
"But neither can explain the whole business.",
"Customers also remember how you describe what you do. The words you keep using. The way your website feels. The personality in your social content. The promise behind an ad. The reasons you give them to choose you instead of someone else.",
"When those pieces agree, recognition gets easier.",
"When they do not, even a beautiful identity can feel forgettable.",
"That is why we treat branding as a connected system rather than a collection of design files."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "START WITH WHAT THE BRAND SHOULD MEAN",
"title": "Positioning Comes Before Decoration.",
"intro": [
"Before choosing colors, writing taglines, or refining a logo, there is a more important question:",
"> What should people understand about this business that they do not understand about its competitors?",
"Strong positioning gives the rest of the brand somewhere to go.",
"It clarifies who the business is for, what space it wants to own, what makes it different, what customers should associate with it, and which ideas are worth repeating.",
"Without that foundation, branding becomes a series of subjective choices.",
"With it, those choices begin to have a reason."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "FROM THE BIG IDEA TO THE SMALLEST DETAIL",
"title": "Build the Pieces People Will Recognize.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Positioning",
"subtitle": null,
"body": [
"Define where the brand belongs in the market and why someone should choose it.",
"We look at the business, audience, competitors, category, value proposition, and existing perceptions to find a position the brand can credibly own."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Naming",
"subtitle": null,
"body": [
"Find a name that gives the business somewhere to grow.",
"We explore naming directions around memorability, relevance, distinctiveness, practical usability, and preliminary considerations for digital and trademark evaluation.",
"Final trademark availability and legal clearance should be completed through qualified legal counsel."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Visual Identity",
"subtitle": null,
"body": [
"Create a visual language people can recognize without needing to read the company name every time.",
"Logo systems, typography, color, graphic elements, imagery direction, and supporting visual choices come together around one recognizable identity."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Messaging",
"subtitle": null,
"body": [
"Decide how the brand explains itself when someone is actually listening.",
"That can include value propositions, key messages, taglines, brand language, audience messaging, tone of voice, and the verbal principles that keep communication recognizable."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Brand Guidelines",
"subtitle": null,
"body": [
"Give everyone working with the brand the same source of truth.",
"Guidelines document how the identity and voice should be used so internal teams, agencies, designers, writers, and partners do not reinterpret the brand every time they create something."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Brand Optimization",
"subtitle": null,
"body": [
"Not every brand needs to start again.",
"Sometimes the business has grown while the brand has stayed where it was.",
"We identify what is still worth keeping, what no longer reflects the company, and what needs to evolve across positioning, messaging, identity, and digital execution."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "SOUND LIKE YOURSELF",
"title": "If Any Competitor Could Say It, It Isn’t Helping Your Brand.",
"intro": [
"“Quality service.”",
"“Innovative solutions.”",
"“Customer focused.”",
"“Committed to excellence.”",
"None of these statements are necessarily wrong. That is the problem.",
"They could belong to almost anyone.",
"Distinctive messaging gives a business language people can associate with that business. It reflects what the company believes, how it thinks, what it does differently, and why any of that should matter to the customer.",
"The goal is not to sound clever.",
"It is to sound unmistakably like you."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "RECOGNITION COMES FROM REPETITION",
"title": "Consistency Should Survive More Than the Brand Presentation.",
"intro": [
"A brand can look perfectly consistent in a guidelines document and completely different once real teams start using it.",
"The website gets redesigned.",
"A paid campaign needs new creative.",
"Social moves faster than the approval process.",
"Sales creates another presentation.",
"A new market needs localized messaging.",
"Suddenly, five versions of the same company are speaking at once.",
"A useful brand system anticipates that.",
"It gives teams enough structure to remain recognizable without making every execution identical."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "FROM FIRST QUESTION TO A BRAND PEOPLE CAN USE",
"title": "How We Build Brand Systems.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Find the Position",
"subtitle": null,
"body": [
"We start with the business, audience, category, competitors, ambitions, existing perceptions, and the reasons customers choose or overlook the company.",
"The objective is to find the position the rest of the brand needs to express."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "Build the Identity",
"subtitle": null,
"body": [
"Positioning begins taking visual and verbal form.",
"Depending on the engagement, that can include naming, identity design, messaging, tone of voice, visual language, and the core elements customers will repeatedly encounter."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Create the System",
"subtitle": null,
"body": [
"We turn individual decisions into something other people can actually use.",
"Guidelines, messaging frameworks, visual rules, templates, and supporting documentation help keep the brand coherent as more people begin working with it."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Put It Into the World",
"subtitle": null,
"body": [
"A brand becomes real when customers encounter it.",
"We can carry the system into web development, social media, paid media, search, and other digital touchpoints."
],
"list": [],
"cta": null,
"num": "04"
}
],
"outro": [
"That is where the work moves from brand theory to brand experience."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "YOUR BUSINESS MAY HAVE OUTGROWN ITS BRAND",
"title": "Rebranding Does Not Have to Mean Starting Over.",
"intro": [
"Sometimes the problem is obvious.",
"The company looks dated. The positioning no longer fits. The business has entered new markets. The audience has changed. Several acquisitions or service additions have left the offer difficult to explain.",
"Other times, the disconnect is harder to see.",
"The business itself has become more sophisticated, but the brand still presents the company it used to be.",
"That does not automatically mean throwing everything away.",
"A strong rebrand knows what deserves to change and what has already earned recognition.",
"We can evaluate the existing positioning, identity, messaging, and digital presence to determine what should stay, what should evolve, and what is holding the brand back."
],
"items": [],
"outro": [],
"ctas": [
"REVIEW MY CURRENT BRAND"
],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "A BRAND HAS TO WORK WHERE CUSTOMERS ACTUALLY MEET IT",
"title": "The Identity Is Only the Beginning.",
"intro": [
"The real test is what happens when the brand leaves the guidelines."
],
"items": [
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"Turn the brand system into a digital experience where identity, messaging, UX, and conversion work together."
],
"list": [],
"cta": "SEE WEB DEVELOPMENT"
},
{
"kicker": null,
"title": "Social Media",
"subtitle": null,
"body": [
"Translate the brand voice and visual identity into content that can adapt to different platforms, audiences, and markets without becoming unrecognizable."
],
"list": [],
"cta": "SEE SOCIAL MEDIA"
},
{
"kicker": null,
"title": "Paid Media",
"subtitle": null,
"body": [
"Carry the positioning into campaigns where the message has seconds to earn attention and give someone a reason to act."
],
"list": [],
"cta": "SEE PAID MEDIA"
},
{
"kicker": null,
"title": "SEO",
"subtitle": null,
"body": [
"Turn what the brand knows, offers, and stands for into a search presence customers can actually discover."
],
"list": [],
"cta": "SEE SEO"
}
],
"outro": [],
"ctas": [
"EXPLORE ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "Do you only create new brands from scratch?",
"subtitle": null,
"body": [
"No. We work with both new and established brands. A new company may need positioning, naming, identity, messaging, and guidelines from the ground up. An established company may only need to clarify its positioning, modernize its identity, refine its messaging, or bring disconnected brand elements back together."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What is included in a brand identity project?",
"subtitle": null,
"body": [
"The scope depends on what the business needs. It can include positioning, naming, logo development, typography, color systems, visual direction, messaging, tone of voice, and brand guidelines. We define the deliverables before the project begins."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can you rebrand an existing company without losing its recognition?",
"subtitle": null,
"body": [
"Yes. Rebranding does not automatically require replacing everything customers already recognize. We evaluate which existing brand assets still have value and where the current identity, positioning, or messaging no longer reflects the business."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you provide naming services?",
"subtitle": null,
"body": [
"Yes. Naming work can include strategic direction, name development, evaluation, and preliminary practical considerations. Because trademark availability is a legal matter, final trademark searches and clearance should be handled by qualified legal counsel."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you create brand guidelines?",
"subtitle": null,
"body": [
"Yes. Brand guidelines can document visual identity, typography, color use, logo application, imagery, messaging, tone of voice, and other rules needed to help teams apply the brand consistently."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does branding connect to your other services?",
"subtitle": null,
"body": [
"Branding gives other channels a clearer identity and message to carry. The positioning can shape website copy, search content, paid campaigns, social content, and broader digital strategy. Because AI Growth Technologies works across these areas, the brand can be built with real-world application in mind rather than stopping at the presentation stage."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "READY TO MAKE THE BRAND FEEL LIKE THE BUSINESS IT HAS BECOME?",
"title": "Give People Something Distinctive to Remember.",
"intro": [
"Maybe you are naming something new.",
"Maybe the business has outgrown the identity it started with.",
"Or maybe the individual pieces are good, but they no longer feel like they belong to the same company.",
"Bring us what exists today and where the business needs to go next.",
"We’ll start by finding the gap between the two."
],
"items": [],
"outro": [],
"ctas": [
"START A BRAND CONVERSATION"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+415
View File
@@ -0,0 +1,415 @@
{
"slug": "services_consulting",
"path": "/services/consulting",
"meta": {
"title": "Digital Marketing Consulting | AI Growth Technologies",
"description": "Get a clearer growth strategy through channel audits, measurement, AI readiness, prioritized roadmaps, and fractional digital marketing advisory."
},
"hero": {
"eyebrow": "BEFORE YOU ADD ANOTHER TACTIC",
"title": "Find the Growth Problem Worth Solving First.",
"intro": [
"Traffic is down. Acquisition costs are rising. Leads are coming in, but not converting. SEO has stalled. The website is underperforming. AI is changing discovery. Or every channel looks reasonably healthy on its own, but the business still is not moving the way it should.",
"That does not always mean you need another service.",
"Sometimes you need someone to look across the whole picture and tell you where the real problem is.",
"AI Growth Technologies combines channel audits, data, measurement, growth strategy, and senior advisory to help businesses decide what deserves attention first and what should happen next."
],
"items": [],
"outro": [],
"ctas": [
"GET A CLEARER GROWTH PLAN"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "MORE ACTIVITY IS NOT ALWAYS THE ANSWER",
"title": "Sometimes the Best Next Move Is Knowing What Not to Do.",
"intro": [
"A new campaign will not fix a weak offer.",
"More SEO content will not solve a technical problem.",
"A website redesign will not fix poor positioning.",
"Another dashboard will not help if nobody trusts the measurement behind it.",
"And adding AI to the strategy does not make sense simply because everyone else is talking about it.",
"Consulting gives us room to look beyond an individual channel.",
"We examine what the business is trying to accomplish, what is already happening, where performance is breaking down, and which decisions have the best chance of changing the outcome.",
"Then we put those decisions in order."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "START WITH THE QUESTION THE BUSINESS ACTUALLY NEEDS ANSWERED",
"title": "Consulting Built Around Decisions, Not Deliverables.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Growth Strategy",
"subtitle": null,
"body": [
"Turn broad growth ambitions into priorities the business can actually act on.",
"We look across customer acquisition, search, media, website experience, brand, technology, measurement, and available resources to determine where the strongest opportunities sit and what should happen first."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Channel Audits",
"subtitle": null,
"body": [
"Find out whether the problem is performance, execution, strategy, measurement, or the relationship between channels.",
"Audits can examine areas such as SEO, paid media, social, web, and AI visibility based on what the business needs to understand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Measurement & Analytics",
"subtitle": null,
"body": [
"Make sure the numbers being used to make decisions deserve to be trusted.",
"We examine tracking, attribution, reporting, conversion measurement, and the relationships between data sources so teams can spend less time debating dashboards and more time using them."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "AI & LLMO Readiness",
"subtitle": null,
"body": [
"Understand what generative discovery actually changes for your business.",
"We assess content, entities, authority, technical foundations, and current AI visibility to identify where LLMO, AEO, and GEO belong in the wider search and content strategy."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Team & Process",
"subtitle": null,
"body": [
"Sometimes the strategy is sound, but execution keeps getting stuck.",
"We look at responsibilities, workflows, internal capabilities, agency relationships, approval processes, and gaps between teams to find where good work is losing momentum."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Fractional Advisory",
"subtitle": null,
"body": [
"Keep senior strategic input available without adding another full-time leadership role.",
"Fractional advisory gives leadership and marketing teams an experienced outside perspective for priorities, performance reviews, difficult decisions, and the questions that rarely fit neatly inside one channel."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE DASHBOARD MAY NOT BE THE PROBLEM",
"title": "Numbers Need Context Before They Need Interpretation.",
"intro": [
"A 20 percent increase in traffic sounds good.",
"Until you learn that qualified leads fell.",
"A lower cost per click sounds efficient.",
"Until the conversion rate collapses.",
"More impressions look promising.",
"Until the business discovers it is appearing for the wrong searches.",
"Marketing data is useful when it helps answer a business question.",
"That is why we do not begin with a favorite metric or a standard reporting template. We start with what the business needs to understand, then determine which numbers can actually help answer it."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "A ROADMAP SHOULD FORCE SOME DECISIONS",
"title": "If Everything Is a Priority, You Still Don’t Have a Strategy.",
"intro": [
"A useful audit should not leave you with 87 recommendations and no idea where to begin.",
"Some issues matter now.",
"Some matter after the foundation is fixed.",
"Some are worth testing.",
"Some can wait.",
"And some may not deserve budget at all.",
"We organize recommendations around impact, dependencies, effort, available resources, and the order in which work needs to happen.",
"The result should tell your team more than what could be improved.",
"It should make the next decision easier."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "FROM “SOMETHING ISN’T WORKING” TO A PLAN",
"title": "How We Approach Consulting.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Understand the Business",
"subtitle": null,
"body": [
"We start with the goals, economics, customers, current marketing, resources, constraints, previous decisions, and what leadership believes is not working.",
"The numbers matter, but so does the context behind them."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "Find the Friction",
"subtitle": null,
"body": [
"We examine the channels, data, website, technology, processes, and customer journey relevant to the problem.",
"Sometimes that confirms the original assumption.",
"Sometimes it points somewhere completely different."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Decide What Comes First",
"subtitle": null,
"body": [
"We turn the findings into a prioritized roadmap.",
"Recommendations are organized around what needs immediate attention, what depends on something else being fixed first, and where investment is most likely to create meaningful movement."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Help the Plan Survive Execution",
"subtitle": null,
"body": [
"A strategy only becomes useful when someone has to implement it.",
"We can stay involved through fractional advisory, strategic reviews, internal team support, or the relevant AI Growth managed services when additional execution is needed.",
"The consulting engagement does not have to become an ongoing service relationship for the recommendations to be useful."
],
"list": [],
"cta": null,
"num": "04"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "YOU MAY ALREADY HAVE THE RIGHT PEOPLE",
"title": "Sometimes the Team Needs Direction, Not Replacement.",
"intro": [
"Consulting does not have to end with handing the work to us.",
"You may already have an internal marketing team.",
"You may have specialist agencies.",
"You may have developers, designers, writers, media buyers, or technology partners who know the business well.",
"The missing piece may simply be a shared direction.",
"We can help clarify priorities, define responsibilities, challenge assumptions, review performance, and give the people already doing the work a clearer plan to work from.",
"If execution support is needed later, that can be decided separately."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "AI DESERVES A BUSINESS CASE TOO",
"title": "Use AI Where It Changes Something That Matters.",
"intro": [
"AI has created plenty of urgency.",
"That does not mean every business needs the same AI strategy.",
"For one company, the immediate issue may be visibility in generative search.",
"For another, it may be content workflows, measurement, customer experience, or making better use of existing data.",
"For another, AI may not be the first priority at all.",
"We look at where AI can create practical value within the wider growth strategy rather than starting with the assumption that a new tool needs to be added.",
"When generative discovery is the opportunity, our LLMO and AI visibility work can take that strategy further."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "WHEN THE QUESTION GETS SPECIFIC",
"title": "Bring in the Right Capability at the Right Time.",
"intro": [
"Consulting helps determine what needs attention. When the answer points toward execution, the relevant specialists can take it from there."
],
"items": [
{
"kicker": null,
"title": "Paid Media",
"subtitle": null,
"body": [
"If acquisition economics, campaign structure, creative performance, or attribution is the issue, examine where media investment can work harder."
],
"list": [],
"cta": "EXAMINE PAID MEDIA"
},
{
"kicker": null,
"title": "SEO",
"subtitle": null,
"body": [
"If organic visibility, technical performance, content, or search demand is holding growth back, identify where search can create a stronger contribution."
],
"list": [],
"cta": "EXAMINE SEO"
},
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"If traffic is arriving but the website is creating friction, look at the architecture, experience, performance, integrations, and conversion path."
],
"list": [],
"cta": "EXAMINE THE WEBSITE"
},
{
"kicker": null,
"title": "LLMO & AI Visibility",
"subtitle": null,
"body": [
"If customer discovery is moving into generative platforms, establish where the brand currently appears and what could improve its visibility."
],
"list": [],
"cta": "EXAMINE AI VISIBILITY"
}
],
"outro": [],
"ctas": [
"VIEW ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "Who is digital marketing consulting for?",
"subtitle": null,
"body": [
"Consulting is useful for businesses that need clarity before committing more budget, are struggling to identify why growth has slowed, need an objective review of current marketing, or want senior strategic input without immediately adding another full-time role.",
"It can also help teams that already have agencies or internal specialists but need a clearer strategy connecting their work."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How is consulting different from your managed services?",
"subtitle": null,
"body": [
"Consulting begins with diagnosis and direction. The goal is to understand the problem, establish priorities, and build a practical roadmap.",
"Managed services focus more directly on ongoing execution in areas such as SEO, paid media, social media, web development, and AI visibility. A consulting engagement may recommend managed execution, internal execution, another partner, or no additional service at all."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What can a digital marketing audit cover?",
"subtitle": null,
"body": [
"The scope depends on the business question. An audit may include SEO, paid media, social media, website performance, conversion paths, analytics, attribution, AI visibility, content, technology, team workflows, or several of these areas together."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Will you work with our existing marketing team or agencies?",
"subtitle": null,
"body": [
"Yes. Consulting can complement an existing internal team, agency, or group of specialist partners. We can provide strategic direction, review performance, clarify responsibilities, identify gaps, and help teams work toward the same priorities."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What is fractional advisory?",
"subtitle": null,
"body": [
"Fractional advisory provides ongoing senior strategic guidance without requiring a full-time executive hire. It can include performance reviews, roadmap updates, leadership discussions, decision support, team guidance, and continued evaluation of growth priorities."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you also implement the recommendations?",
"subtitle": null,
"body": [
"We can, but implementation does not have to stay with AI Growth Technologies. Depending on the roadmap, work can be handled by your internal team, existing partners, AI Growth specialists, or a combination of them.",
"The priority is getting the right work done, not forcing every recommendation into another engagement."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "NOT SURE WHICH SERVICE YOU NEED? GOOD.",
"title": "Start With the Problem, Not the Solution.",
"intro": [
"You do not need to decide whether the answer is SEO, paid media, AI visibility, a new website, better measurement, or something else before you speak with us.",
"That is what the consulting process is for.",
"Bring us the numbers, the questions, the things that are not adding up, and the decisions you are trying to make.",
"We’ll help you work out what deserves to happen next."
],
"items": [],
"outro": [],
"ctas": [
"BRING US THE GROWTH PROBLEM"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,442 @@
{
"slug": "services_cybersecurity",
"path": "/services/cybersecurity",
"meta": {
"title": "Cybersecurity Services | AI Growth Technologies",
"description": "Strengthen your digital infrastructure with security assessments, hardening, monitoring, vulnerability management, incident response, and Korrith."
},
"hero": {
"eyebrow": "SECURITY FOR THE BUSINESS YOU’RE BECOMING.",
"title": "Build Growth on a Stronger Digital Foundation.",
"intro": [
"As a business grows, more starts depending on its digital infrastructure.",
"Websites generate leads. Applications serve customers. Teams access cloud systems. Marketing platforms collect data. Integrations connect one system to another.",
"Security has to grow with all of it.",
"AI Growth Technologies brings cybersecurity into the wider digital operation through assessment, hardening, monitoring, vulnerability management, incident response, and Korrith.",
"The goal is straightforward: keep the systems supporting the business dependable as the business becomes more digital."
],
"items": [],
"outro": [],
"ctas": [
"REVIEW MY SECURITY FOUNDATION"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "SECURITY BELONGS IN THE GROWTH PLAN",
"title": "More Digital Capability Means More to Protect.",
"intro": [
"A new website creates new infrastructure.",
"A new application introduces new connections.",
"More employees can mean more access points. More integrations mean more systems exchanging information. More customer activity means more data moving through the business.",
"None of that is a reason to slow down.",
"It is a reason to make security part of how the company grows.",
"We look at the systems the business relies on, identify where security can be strengthened, and put practical protections around the infrastructure that needs to keep working."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "ASSESS. STRENGTHEN. MONITOR. RESPOND.",
"title": "Cybersecurity Built Around the Systems You Actually Use.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Security Assessment",
"subtitle": null,
"body": [
"Start with a clearer picture of the current environment.",
"We assess relevant systems, configurations, applications, and infrastructure to identify vulnerabilities, weaknesses, and areas that deserve attention."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Website & Infrastructure Hardening",
"subtitle": null,
"body": [
"Strengthen websites, applications, servers, and cloud environments by improving configurations, access controls, software hygiene, and other relevant security measures.",
"The objective is to reduce unnecessary exposure without making everyday operations unnecessarily difficult."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Vulnerability Management",
"subtitle": null,
"body": [
"Security changes as software, infrastructure, and known vulnerabilities change.",
"Ongoing vulnerability management helps identify emerging weaknesses, prioritize them based on relevance and risk, and support timely remediation."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Security Monitoring",
"subtitle": null,
"body": [
"Maintain visibility into relevant systems and activity so unusual behavior and security events have a better chance of being identified early.",
"Monitoring should provide useful signals, not simply generate more alerts."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Incident Response",
"subtitle": null,
"body": [
"When a security event occurs, the immediate priorities are understanding what happened, containing the issue, limiting further impact, and supporting recovery.",
"A defined response process makes those decisions easier to coordinate when time matters."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Data Protection & Security Readiness",
"subtitle": null,
"body": [
"Review how sensitive information is accessed, handled, stored, and protected across relevant systems.",
"Where regulatory or contractual requirements apply, security controls can be aligned with the applicable obligations and the business's wider compliance program."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "POWERED BY KORRITH",
"title": "Security That Keeps Watch After the Assessment Ends.",
"intro": [
"A security review tells you what the environment looks like at a point in time.",
"The environment does not stay still.",
"Software changes. Infrastructure changes. New vulnerabilities are disclosed. Traffic patterns shift. New applications and integrations are introduced.",
"Korrith provides the security and resilience layer behind our cybersecurity practice, helping maintain visibility across the digital systems supporting the business.",
"Instead of treating security as a project that ends with a report, Korrith helps make it an ongoing operational discipline."
],
"items": [
{
"kicker": null,
"title": "Continuous Scanning",
"subtitle": null,
"body": [
"Regularly assess relevant digital assets for known vulnerabilities and security weaknesses so emerging issues can be identified and prioritized."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "DDoS Mitigation",
"subtitle": null,
"body": [
"Use appropriate traffic filtering and infrastructure protections to improve resilience against disruptive traffic and availability attacks."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Threat Intelligence",
"subtitle": null,
"body": [
"Use relevant threat information to add context around emerging vulnerabilities, attack patterns, and risks that may affect the environment."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Web Application Firewall Configuration",
"subtitle": null,
"body": [
"Configure and maintain web application firewall controls designed to filter malicious requests and add another protective layer around web-facing applications."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "GOOD SECURITY SHOULD FIT THE WAY PEOPLE WORK",
"title": "Protection Is Stronger When Teams Can Actually Live With It.",
"intro": [
"A security control that constantly gets bypassed is not doing its job.",
"Neither is a process that makes routine work so difficult that people begin finding their own shortcuts.",
"Security decisions need to account for the systems being protected and the people using them.",
"That means thinking about access, permissions, workflows, integrations, updates, monitoring, and operational responsibilities together.",
"The objective is not to make every action harder.",
"It is to make safer behavior part of normal operations."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "FROM CURRENT STATE TO CONTINUOUS RESILIENCE",
"title": "How We Approach Cybersecurity.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Assess What Exists",
"subtitle": null,
"body": [
"We begin with the relevant websites, applications, infrastructure, configurations, access, and existing security controls.",
"The assessment helps establish what is already working and where attention is needed."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "Prioritize & Harden",
"subtitle": null,
"body": [
"Not every finding deserves the same response.",
"We prioritize issues according to their relevance and potential impact, then strengthen configurations, access controls, applications, infrastructure, and other areas within scope."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Monitor",
"subtitle": null,
"body": [
"Where ongoing monitoring is part of the engagement, we establish visibility around the systems and activity that matter.",
"The aim is to surface useful security signals and support faster investigation when something unusual appears."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Respond & Improve",
"subtitle": null,
"body": [
"Security events, vulnerability findings, infrastructure changes, and operational experience can all reveal where defenses should improve.",
"We use those signals to strengthen the environment over time rather than treating security as a one-time exercise."
],
"list": [],
"cta": null,
"num": "04"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "THE WEBSITE IS PART OF THE SECURITY CONVERSATION",
"title": "Growth Infrastructure Needs More Than Good Design.",
"intro": [
"Your website may connect to forms, analytics, customer information, CRM systems, advertising platforms, third-party applications, payment systems, and internal workflows.",
"That makes web development and cybersecurity closely connected.",
"Performance matters.",
"Crawlability matters.",
"Conversion matters.",
"Security matters too.",
"Building those considerations into the digital foundation is far more useful than treating security as something to think about only after the rest of the system is already in place."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "SECURITY HAS TO WORK ON A NORMAL TUESDAY",
"title": "The Best Protection Becomes Part of How the Business Operates.",
"intro": [
"Most days are not incident days.",
"They are ordinary workdays.",
"Someone needs access to a platform. A developer deploys an update. Marketing adds an integration. A new employee joins. A vendor needs permissions. Software needs patching. A new website feature goes live.",
"Those everyday decisions shape security too.",
"A resilient environment is not defined only by how it responds when something goes wrong.",
"It is also defined by how consistently good security decisions are built into normal operations."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "SECURITY SUPPORTS THE REST OF THE DIGITAL SYSTEM",
"title": "Connect Cybersecurity With the Infrastructure Around It.",
"intro": [
"Cybersecurity becomes more useful when it reflects how the wider digital operation actually works."
],
"items": [
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"Build and maintain digital experiences with performance, technical architecture, integrations, and security considered as connected requirements."
],
"list": [],
"cta": "SEE WEB DEVELOPMENT"
},
{
"kicker": null,
"title": "Digital Marketing Consulting",
"subtitle": null,
"body": [
"Look across technology, marketing, data, and operations when the business needs a wider view of its digital infrastructure and priorities."
],
"list": [],
"cta": "SEE CONSULTING"
},
{
"kicker": null,
"title": "SEO",
"subtitle": null,
"body": [
"Protect the technical foundation supporting organic visibility, site accessibility, content, and the digital authority the business has built over time."
],
"list": [],
"cta": "SEE SEO"
},
{
"kicker": null,
"title": "Paid Media",
"subtitle": null,
"body": [
"Support the websites, landing pages, tracking infrastructure, and digital systems that paid acquisition ultimately depends on."
],
"list": [],
"cta": "SEE PAID MEDIA"
}
],
"outro": [],
"ctas": [
"EXPLORE ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "What is Korrith?",
"subtitle": null,
"body": [
"Korrith is the security and resilience layer behind AI Growth Technologies' cybersecurity practice. It supports ongoing capabilities such as vulnerability visibility, monitoring, web application protection, and other security measures used within the cybersecurity program."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Why does AI Growth Technologies offer cybersecurity?",
"subtitle": null,
"body": [
"Digital growth increasingly depends on digital infrastructure. Websites, applications, analytics, customer data, marketing platforms, and integrations all become part of the systems a growing business relies on. Cybersecurity allows us to address the resilience of that infrastructure alongside the work helping the business grow."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What does a cybersecurity assessment include?",
"subtitle": null,
"body": [
"The exact scope depends on the environment and engagement. An assessment can examine websites, applications, infrastructure, configurations, access controls, known vulnerabilities, and existing security measures to identify areas that may require remediation or further investigation."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you provide ongoing security monitoring?",
"subtitle": null,
"body": [
"Yes, where ongoing monitoring is included in the engagement. Monitoring can help identify relevant security events, unusual activity, vulnerabilities, and changes that deserve investigation."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can you help after a security incident?",
"subtitle": null,
"body": [
"Incident response can include investigation, containment, mitigation, recovery support, and recommendations for strengthening the environment afterward. The exact response depends on the systems involved and the nature of the incident."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can cybersecurity help with compliance requirements?",
"subtitle": null,
"body": [
"Cybersecurity controls can support a wider compliance program by helping protect data, manage access, document security practices, and address applicable technical requirements. Compliance obligations vary by organization, industry, jurisdiction, and regulatory framework, so legal or formal compliance determinations should be made by appropriately qualified professionals."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "GROWTH NEEDS A FOUNDATION IT CAN RELY ON",
"title": "Know Where Your Digital Security Stands.",
"intro": [
"You do not need to wait for an incident to find out where the weak points are.",
"Start with the systems the business depends on today.",
"See what is already protected, what deserves attention, and where stronger controls can support what you are building next."
],
"items": [],
"outro": [],
"ctas": [
"ASSESS MY SECURITY ENVIRONMENT"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+529
View File
@@ -0,0 +1,529 @@
{
"slug": "services_llmo",
"path": "/services/llmo",
"meta": {
"title": "LLMO, AEO & GEO Services | AI Growth Technologies",
"description": "Improve brand visibility across ChatGPT, Gemini, AI Overviews, and other AI search experiences with LLMO, AEO, GEO, and AI monitoring."
},
"hero": {
"eyebrow": "AI SEARCH IS ALREADY HAPPENING.",
"title": "Your Customers Are Asking AI. Are You the Recommended Answer?",
"intro": [
"People are asking ChatGPT, Gemini, Claude, Copilot, AI Overviews, and other generative platforms questions they once took directly to search.",
"Which company should I consider? What is the best option? How do these products compare? Who offers this service near me? What should I know before choosing?",
"The answer may mention several brands. It may cite a source. It may recommend an option. Or your business may not appear at all.",
"AI Growth Technologies uses LLMO, AEO, GEO, entity optimization, structured content, and AI visibility monitoring to strengthen the signals that help generative systems understand and surface your brand.",
"Then meSEO helps us monitor where that visibility is appearing and how it changes."
],
"items": [],
"outro": [],
"ctas": [
"REQUEST AN AI VISIBILITY REVIEW"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "YOUR CUSTOMER MAY NEVER TYPE THE SEARCH",
"title": "Discovery Is Moving Into the Answer.",
"intro": [
"Traditional search usually gives people somewhere to go next.",
"Generative search can do something different. It can interpret the question, gather information, summarize what it finds, compare options, and present an answer before the user visits a website.",
"That changes the visibility challenge.",
"Your business needs information that machines can interpret clearly. Your expertise needs to be expressed in ways that can be retrieved and understood. Your brand needs consistent entity signals. Your content needs enough authority and context to deserve consideration when an answer is assembled.",
"There is no switch that guarantees an AI citation.",
"There is, however, a great deal you can do to make your business easier to understand, retrieve, evaluate, and reference."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "BUILDING VISIBILITY BEYOND THE RESULTS PAGE",
"title": "The AI Visibility Stack.",
"intro": [],
"items": [
{
"kicker": null,
"title": "LLMO",
"subtitle": null,
"body": [
"Optimize digital content for discovery and retrieval across large language model experiences.",
"We strengthen content structure, topical depth, entity clarity, source quality, and supporting signals so AI systems have clearer information to work with when interpreting the brand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "AEO",
"subtitle": null,
"body": [
"Create content that answers real questions clearly enough to serve both people and answer-driven search experiences.",
"Answer Engine Optimization focuses on direct responses, supporting context, logical page structure, and information that can be understood without forcing a system to infer what the page is trying to say."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "GEO",
"subtitle": null,
"body": [
"Strengthen visibility within generative search experiences, including AI-generated summaries, comparisons, and recommendations.",
"Generative Engine Optimization looks at how content, entities, authority, and information architecture work together when AI systems construct responses."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Entity & Structured Data",
"subtitle": null,
"body": [
"Help machines understand who the business is, what it does, where it operates, and how its products, services, people, and expertise relate to one another.",
"We examine entity consistency, structured data, site architecture, and supporting information across the wider digital presence."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "AI Visibility Monitoring",
"subtitle": null,
"body": [
"Track how the brand appears across relevant generative platforms and prompts.",
"That includes where the business is mentioned, which topics trigger visibility, how competitors appear, and where important gaps emerge."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "AI Traffic Attribution",
"subtitle": null,
"body": [
"Identify measurable referral traffic arriving from AI platforms and examine what those visitors do after reaching the site.",
"AI influence will not always produce a trackable click, but when referral data is available, it becomes another useful signal in understanding the role generative discovery plays."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "YOU CAN’T IMPROVE WHAT YOU NEVER LOOK FOR",
"title": "meSEO Makes AI Visibility Easier to See.",
"intro": [
"A traditional rank tracker can tell you whether your page moved from position six to position three.",
"AI answers do not work like a ten-blue-link results page.",
"The response can change by question, wording, context, platform, and the information available to the system. That makes AI visibility a different measurement problem.",
"meSEO gives us a way to observe that changing discovery environment alongside traditional search performance."
],
"items": [
{
"kicker": null,
"title": "Multi-Engine Monitoring",
"subtitle": null,
"body": [
"Track brand visibility across relevant AI and generative search experiences rather than relying on a single platform."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Citation Monitoring",
"subtitle": null,
"body": [
"Identify when the brand or its content appears as a referenced source in monitored AI responses."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Answer Tracking",
"subtitle": null,
"body": [
"Review how the brand is represented across important questions, topics, comparisons, and recommendation scenarios."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Entity Signals",
"subtitle": null,
"body": [
"Examine whether the information surrounding the business gives machines a clear and consistent understanding of the brand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Competitive Visibility",
"subtitle": null,
"body": [
"Compare your presence with the businesses and sources appearing alongside, above, or instead of you in relevant AI answers."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "AI Referral Attribution",
"subtitle": null,
"body": [
"Track identifiable visits from AI platforms and connect that traffic with on-site behavior where measurement is available."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "SEO STILL MATTERS",
"title": "AI Visibility Does Not Replace Search. It Expands It.",
"intro": [
"People have not stopped using Google because they started using ChatGPT.",
"They use both.",
"A customer might encounter your company in an AI answer, search the brand afterward, read several pages, compare competitors, and return later to make a decision.",
"That is why we do not treat LLMO as a replacement for SEO.",
"Technical accessibility still matters. Useful content still matters. Authority still matters. Clear entities still matter. Search visibility still matters.",
"LLMO expands that foundation into another discovery environment.",
"The objective is not to choose between Google and AI.",
"It is to make the brand easier to discover wherever the customer starts asking questions."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "AI SYSTEMS NEED SOMETHING CLEAR TO WORK WITH",
"title": "Better AI Visibility Starts With Better Information.",
"intro": [
"Generative systems cannot reliably understand a business that describes itself differently everywhere it appears.",
"They cannot easily retrieve an answer buried beneath vague marketing language.",
"And adding schema to weak content does not suddenly make that content authoritative.",
"Strong AI visibility begins with the information itself."
],
"items": [
{
"kicker": null,
"title": "Clear Answers",
"subtitle": null,
"body": [
"Important customer questions need useful, direct answers supported by enough context to make those answers meaningful."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Strong Entity Signals",
"subtitle": null,
"body": [
"Names, services, locations, expertise, relationships, and other business information should reinforce a consistent understanding of the brand."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Structured Information",
"subtitle": null,
"body": [
"Headings, page architecture, internal relationships, and appropriate structured data can make important information easier for machines to interpret."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Demonstrable Expertise",
"subtitle": null,
"body": [
"Original information, credible sourcing, subject expertise, useful evidence, and distinctive insights give both people and machines more reason to value a source."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Connected Topics",
"subtitle": null,
"body": [
"A single optimized page rarely establishes an entire subject."
],
"list": [],
"cta": null
}
],
"outro": [
"Related content should build a coherent picture of what the business knows and where its expertise belongs."
],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "FROM AI VISIBILITY AUDIT TO ONGOING MONITORING",
"title": "How We Approach LLMO, AEO, and GEO.",
"intro": [],
"items": [
{
"kicker": null,
"title": "See What AI Already Knows",
"subtitle": null,
"body": [
"We examine how relevant AI systems currently represent the brand, which questions produce visibility, which sources appear, and which competitors are entering answers where the business is absent.",
"The baseline tells us where we are starting."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "Strengthen the Entity",
"subtitle": null,
"body": [
"We review the information that defines the business across its website and wider digital presence.",
"Inconsistencies, missing context, weak relationships, and unclear entity signals become part of the optimization roadmap."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Build Answerable Content",
"subtitle": null,
"body": [
"We identify the questions, comparisons, concepts, and decision points that matter to the audience.",
"Existing content can be restructured where needed, and new content can address meaningful gaps with direct answers, supporting evidence, and useful context."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Improve Technical Clarity",
"subtitle": null,
"body": [
"We examine site structure, internal relationships, structured data, crawlability, and other technical elements that can affect how information is discovered and interpreted."
],
"list": [],
"cta": null,
"num": "04"
},
{
"kicker": null,
"title": "Monitor What Changes",
"subtitle": null,
"body": [
"meSEO helps us follow AI visibility, citations, answers, competitive presence, and identifiable referral activity over time.",
"Those observations feed the next round of optimization rather than leaving LLMO as a one-time content exercise."
],
"list": [],
"cta": null,
"num": "05"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "ONE PROMPT DOESN’T TELL YOU ENOUGH",
"title": "AI Visibility Changes With the Question.",
"intro": [
"Ask an AI platform for the “best” provider and you may get one set of businesses.",
"Change the question to the most experienced, most suitable for a particular need, available in a specific location, or best for a certain type of customer, and the answer can change.",
"The platform matters too.",
"ChatGPT does not necessarily surface the same information as Gemini, Claude, Copilot, or an AI-generated search experience.",
"That is why meaningful AI visibility monitoring needs to look across the questions, topics, competitors, and platforms that matter to the business rather than treating one prompt as proof of performance."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "AI VISIBILITY WORKS BETTER WITH THE REST OF SEARCH",
"title": "Explore the Services Around Your AI Visibility Strategy.",
"intro": [
"Generative discovery does not exist in isolation. The same content, authority, website experience, brand signals, and customer insights often influence several parts of digital growth."
],
"items": [
{
"kicker": null,
"title": "SEO",
"subtitle": null,
"body": [
"Strengthen the technical foundation, organic content, authority, and traditional search visibility that also support broader digital discovery."
],
"list": [],
"cta": "EXPLORE SEO"
},
{
"kicker": null,
"title": "Brand",
"subtitle": null,
"body": [
"Create clearer positioning, messaging, and entity consistency so both customers and machines encounter a more coherent business."
],
"list": [],
"cta": "EXPLORE BRAND"
},
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"Build a technically sound, structured website that makes important information easier to access and gives visitors a stronger experience when they arrive."
],
"list": [],
"cta": "EXPLORE WEB DEVELOPMENT"
},
{
"kicker": null,
"title": "Digital Marketing Consulting",
"subtitle": null,
"body": [
"Connect AI visibility with the wider acquisition, search, content, measurement, and growth strategy instead of treating it as an isolated experiment."
],
"list": [],
"cta": "EXPLORE CONSULTING"
}
],
"outro": [],
"ctas": [
"VIEW ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "What are LLMO, AEO, and GEO?",
"subtitle": null,
"body": [
"LLMO, or Large Language Model Optimization, focuses on improving how content and brand information can be understood and surfaced by large language model experiences. AEO, or Answer Engine Optimization, focuses on making information useful for direct answers to conversational questions. GEO, or Generative Engine Optimization, focuses more broadly on visibility within AI-generated search and discovery experiences.",
"The terms overlap, which is why we treat them as connected parts of an AI visibility strategy rather than completely separate disciplines."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can you guarantee that ChatGPT or other AI platforms will cite my business?",
"subtitle": null,
"body": [
"No. Third-party AI platforms decide what information they retrieve, summarize, cite, or recommend, and those outputs can change.",
"Our role is to strengthen the content, entity signals, authority, structure, and technical foundations that can improve your brand's ability to be understood and considered by generative systems, then monitor the visibility we can observe."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How do you measure AI visibility?",
"subtitle": null,
"body": [
"Measurement can include monitored brand mentions, citations, answer presence, competitive visibility, entity representation, topic coverage, and identifiable referral traffic from AI platforms.",
"Because generative responses can vary, we evaluate patterns across relevant prompts and platforms rather than treating one answer as definitive."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Is LLMO replacing traditional SEO?",
"subtitle": null,
"body": [
"No. Traditional search remains an important discovery channel, and many of the foundations behind strong SEO also support AI visibility.",
"LLMO extends that work into generative discovery, where people increasingly ask questions, compare businesses, research products, and receive synthesized answers."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which AI platforms do you monitor?",
"subtitle": null,
"body": [
"Depending on the engagement and available measurement capabilities, monitoring can include major generative and AI search experiences such as ChatGPT, Gemini, Claude, Copilot, and AI-powered search results.",
"The platforms monitored should reflect where the client's customers are actually likely to search or ask questions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How long does it take to improve AI visibility?",
"subtitle": null,
"body": [
"There is no fixed timeline. Results depend on the brand's existing authority, technical foundation, content quality, entity clarity, competition, the platforms being monitored, and how those external systems discover and process information.",
"We establish a baseline first, make prioritized improvements, and monitor how visibility changes over time."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "WANT TO KNOW WHAT AI IS SAYING ABOUT YOUR BRAND?",
"title": "Start With an AI Visibility Review.",
"intro": [
"We can look at how your brand currently appears across relevant AI experiences, which competitors are entering the answers, where your information is unclear or missing, and what opportunities deserve attention first.",
"You do not need to guess whether your business has an AI visibility problem.",
"Start by measuring it."
],
"items": [],
"outro": [],
"ctas": [
"REQUEST AN AI VISIBILITY REVIEW"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+445
View File
@@ -0,0 +1,445 @@
{
"slug": "services_paid-media",
"path": "/services/paid-media",
"meta": {
"title": "Paid Media Services | AI Growth Technologies",
"description": "Paid media across search, social, programmatic, and CTV, connected through stronger creative, attribution, measurement, and budget strategy."
},
"hero": {
"eyebrow": "PAID MEDIA WITH A JOB TO DO.",
"title": "Turn Media Spend Into Business Growth.",
"intro": [
"Clicks tell you someone responded. They do not tell you whether you reached the right customer, influenced a sale, or spent the budget where it had the greatest impact.",
"AI Growth Technologies connects media strategy, creative, audiences, measurement, and budget decisions around the outcomes the business actually cares about.",
"Atrilyx, our proprietary media and attribution engine, helps us see those signals together instead of relying on one platform’s version of performance."
],
"items": [],
"outro": [],
"ctas": [
"DISCUSS PAID MEDIA"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "WHEN THE NUMBERS DON’T TELL THE WHOLE STORY",
"title": "A Good Campaign Should Look Good Beyond the Ad Platform.",
"intro": [
"Google can tell you what happened on Google. Meta can report what happened on Meta. Neither sees the entire customer relationship with your business.",
"That becomes a problem when platform metrics start making budget decisions for you.",
"We look beyond clicks, impressions, and reported conversions to understand which audiences are valuable, which messages are working, what happens after the click, and where additional investment makes sense.",
"The goal is not a better-looking media report.",
"It is a better-informed media decision."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "WHERE THE BUDGET GOES",
"title": "Paid Media Across the Customer Journey.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Paid Search & Shopping",
"subtitle": null,
"body": [
"Capture existing demand across Google and Microsoft when customers are actively searching, comparing, and moving toward a decision.",
"Campaign structure, search terms, feeds, bidding, and landing experiences are managed around valuable actions, not traffic for its own sake."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Paid Social",
"subtitle": null,
"body": [
"Reach and build demand across Meta, LinkedIn, TikTok, Pinterest, and other platforms relevant to your audience.",
"We connect audience strategy with ongoing creative testing to understand which combinations actually change performance."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Programmatic & CTV",
"subtitle": null,
"body": [
"Reach audiences through display, video, and connected TV when the customer journey begins well before an active search.",
"Audience, placement, and performance data keep broader-reach campaigns connected to the larger acquisition strategy."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Performance Creative",
"subtitle": null,
"body": [
"Test messages, formats, hooks, offers, and creative variants against real audience response.",
"Instead of repeatedly producing new assets, we use performance signals to understand what the next creative should do differently."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Measurement & Attribution",
"subtitle": null,
"body": [
"Connect media activity with what happens after someone clicks, visits, returns, or converts.",
"Better tracking gives us a clearer view of channel contribution and more useful evidence for future budget decisions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Budget Governance",
"subtitle": null,
"body": [
"Monitor pacing, performance, and channel allocation so budget is not locked into decisions made before the campaign started.",
"As evidence changes, investment can change with it."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "SEE MORE THAN THE AD PLATFORM SEES",
"title": "Atrilyx Connects the Signals Behind the Spend.",
"intro": [
"Paid media creates information everywhere.",
"Campaign platforms hold media data. Your website captures behaviour. Your CRM may know which leads became customers. Revenue data tells another part of the story.",
"Atrilyx brings those signals into a more connected view."
],
"items": [
{
"kicker": null,
"title": "Cross-Channel Visibility",
"subtitle": null,
"body": [
"See media performance across channels without treating every platform as a separate version of the truth."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Audience Intelligence",
"subtitle": null,
"body": [
"Use campaign and customer signals to understand which audiences are producing stronger outcomes."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Creative Intelligence",
"subtitle": null,
"body": [
"See which messages and variants are moving performance so future creative starts with evidence."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Budget Oversight",
"subtitle": null,
"body": [
"Follow spend, pacing, and performance more closely across campaigns and channels."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Multi-Market Management",
"subtitle": null,
"body": [
"Maintain visibility across international campaigns while letting individual markets set their own strategy and budget decisions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Stronger Measurement",
"subtitle": null,
"body": [
"Support cleaner data flows and more resilient tracking, including server-side measurement where appropriate."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE CLICK IS ONLY THE HANDOFF",
"title": "What Happens Next Can Change the Result.",
"intro": [
"An ad can reach exactly the right person and still send them to a slow page, an unclear offer, or an experience that does not match what convinced them to click.",
"That is why paid media cannot stop at campaign management.",
"Search-term data can uncover SEO opportunities. Ad performance can expose opportunities in web development. Creative response can sharpen brand messaging. Customer questions can inform LLMO and AI visibility.",
"We use what media reveals instead of leaving those insights inside the ad account."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "A CLEARER WAY TO RUN PAID MEDIA",
"title": "From Audit to Ongoing Optimisation.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Audit",
"subtitle": null,
"body": [
"We review campaigns, tracking, creative, audiences, landing experiences, historical performance, and the business outcomes behind existing conversions.",
"Before changing anything, we establish what the current numbers can and cannot tell us."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "Strategy",
"subtitle": null,
"body": [
"We define the channel mix, audience approach, campaign structure, measurement plan, creative priorities, and budget allocation around the actual growth objective.",
"Not every business needs every platform."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Launch",
"subtitle": null,
"body": [
"Campaigns go live with clear tests around audiences, creative, offers, placements, and conversion paths.",
"That gives us something more useful than activity. It gives us evidence."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Learn",
"subtitle": null,
"body": [
"We evaluate acquisition cost, conversion behaviour, lead or customer quality, creative performance, and the wider signals available through Atrilyx."
],
"list": [],
"cta": null,
"num": "04"
},
{
"kicker": null,
"title": "Optimise",
"subtitle": null,
"body": [
"Budgets shift. Creative evolves. Weak assumptions get replaced. Strong campaigns earn room to scale.",
"Optimisation continues because the market keeps giving us new information."
],
"list": [],
"cta": null,
"num": "05"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "ONE MEDIA PLAN DOESN’T FIT EVERY MARKET",
"title": "Global Reach Needs Local Judgment.",
"intro": [
"Customer behaviour changes by market. So do competition, search patterns, platform usage, media costs, and creative expectations.",
"AI Growth Technologies supports multi-market campaigns with a connected view of performance, while letting targeting, creative, channel mix, and budget decisions respond to local conditions.",
"The strategy stays coordinated without pretending every market behaves the same way."
],
"items": [],
"outro": [],
"ctas": [
"EXPLORE INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "PAID MEDIA DOESN’T WORK ALONE",
"title": "Explore the Services Around Your Media Strategy.",
"intro": [
"Paid campaigns often reveal opportunities beyond the ad account. Search demand, landing-page behaviour, creative response, and conversion data can point to what to address next."
],
"items": [
{
"kicker": null,
"title": "SEO",
"subtitle": null,
"body": [
"Turn search demand and keyword intelligence into stronger long-term organic visibility."
],
"list": [],
"cta": "EXPLORE SEO"
},
{
"kicker": null,
"title": "LLMO & AI Visibility",
"subtitle": null,
"body": [
"Strengthen how your brand appears across AI-driven search, recommendations, and generative answers."
],
"list": [],
"cta": "EXPLORE LLMO"
},
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"Improve the experience customers reach after the click, from performance and usability to conversion."
],
"list": [],
"cta": "EXPLORE WEB DEVELOPMENT"
},
{
"kicker": null,
"title": "Brand",
"subtitle": null,
"body": [
"Strengthen the positioning, messaging, and identity behind the creative people see across paid channels."
],
"list": [],
"cta": "EXPLORE BRAND"
}
],
"outro": [],
"ctas": [
"VIEW ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "Which paid media platforms do you manage?",
"subtitle": null,
"body": [
"We manage campaigns across major search, social, programmatic, and CTV platforms based on the business, audience, and market. This can include Google, Microsoft, Meta, LinkedIn, TikTok, Pinterest, and other relevant platforms."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you manage paid search and paid social together?",
"subtitle": null,
"body": [
"Yes. You can manage them independently or as part of a connected paid media strategy. When both are active, you can share audience, creative, and conversion insights across channels."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you create ads as well as manage campaigns?",
"subtitle": null,
"body": [
"Yes. Creative production and testing can be part of the paid media engagement, allowing new concepts and variants to respond to actual campaign performance."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How do you measure paid media performance?",
"subtitle": null,
"body": [
"That depends on what the business is trying to achieve. Measurement can include qualified leads, customer acquisition cost, revenue, ROAS, conversion behaviour, and other business outcomes alongside platform metrics."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What is Atrilyx?",
"subtitle": null,
"body": [
"Atrilyx is AI Growth Technologies’ proprietary media and attribution engine. It brings campaign, audience, creative, measurement, and budget signals into a more connected view to support better media decisions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can you manage campaigns across multiple markets?",
"subtitle": null,
"body": [
"Yes. We can manage multi-market paid media while adapting targeting, creative, channel strategy, and budget allocation to individual markets."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "READY TO REVIEW YOUR PAID MEDIA?",
"title": "See What Your Paid Media Is Really Telling You.",
"intro": [
"Already running campaigns? We can look at what is working, where budget is being lost, and what the current measurement may be missing.",
"Planning a new campaign? We can start with the audience, objective, channel mix, and measurement strategy before you spend the first dollar."
],
"items": [],
"outro": [],
"ctas": [
"REQUEST A PAID MEDIA REVIEW"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+451
View File
@@ -0,0 +1,451 @@
{
"slug": "services_seo",
"path": "/services/seo",
"meta": {
"title": "SEO Services | AI Growth Technologies",
"description": "Build organic visibility with technical SEO, content, authority, local search, and meSEO insights that connect rankings with visitor behaviour."
},
"hero": {
"eyebrow": "RANKINGS ARE ONLY THE BEGINNING.",
"title": "Get Found. Then Make Being Found Matter.",
"intro": [
"A page can rank first and still bring the wrong traffic. Organic visits can climb while leads stay flat. A keyword report can look impressive without telling you what happened after someone landed.",
"That is why we look at more than position.",
"AI Growth Technologies combines technical SEO, on-page optimisation, content, authority, and behavioural insight to build organic visibility around searches that matter to the business.",
"Then meSEO helps us see what visitors actually do with that visibility."
],
"items": [],
"outro": [],
"ctas": [
"DISCUSS SEO"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "TRAFFIC CAN GROW WITHOUT THE BUSINESS GROWING",
"title": "The Search Result Is Only the First Decision.",
"intro": [
"Traditional SEO reporting can tell you where a page ranks, how many impressions it gets, and how much organic traffic it brings.",
"Useful information. Not the whole story.",
"What did those visitors do next?",
"Did they find what they came for? Which pages kept them moving? Where did they leave? Which search topics produced meaningful engagement or conversion?",
"We connect search performance with post-click behaviour, so SEO decisions are shaped by more than what happened on the results page."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "THE WORK BEHIND ORGANIC GROWTH",
"title": "A Complete Search Program.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Technical SEO",
"subtitle": null,
"body": [
"Make it easier for search engines to crawl, understand, and index the pages that matter.",
"We examine architecture, crawlability, indexation, internal linking, structured data, Core Web Vitals, and other technical issues that can hold organic performance back."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "On-Page Optimization",
"subtitle": null,
"body": [
"Align individual pages with the searches, questions, and intent they are meant to serve.",
"That includes titles, metadata, headings, content structure, internal links, semantic relevance, and opportunities to improve how pages appear and perform in search."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Content Strategy",
"subtitle": null,
"body": [
"Build content around what your audience actually wants to understand, compare, solve, or decide.",
"We map topics and search intent across the customer journey, identify gaps, and create connected content that can build relevance and topical depth over time."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Local SEO",
"subtitle": null,
"body": [
"Strengthen visibility where geography affects the search.",
"For local and multi-location businesses, that means improving location signals, local pages, Google Business Profile presence, and the consistency needed to compete across individual markets."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Authority Building",
"subtitle": null,
"body": [
"Strengthen the signals that help search engines understand why your site deserves visibility in competitive results.",
"Our approach focuses on relevant authority, credible mentions, digital PR opportunities, and links that make sense for the business rather than volume for its own sake."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Behavioral Analytics",
"subtitle": null,
"body": [
"See what organic visitors do once the ranking has done its job.",
"meSEO connects search visibility with on-site behaviour so we can identify where organic traffic engages, moves forward, converts, or disappears."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "WHAT HAPPENS AFTER THE RANKING?",
"title": "meSEO Connects Search Visibility With Visitor Behavior.",
"intro": [
"Most SEO platforms are very good at telling you what happened before the click.",
"Rankings changed. Search volume moved. A competitor gained visibility. A page received more impressions.",
"meSEO adds another layer: what happened when the visitor actually reached your site.",
"That gives SEO teams a better way to decide which wins are valuable, which pages need work, and where the next opportunity may be."
],
"items": [
{
"kicker": null,
"title": "Search Intelligence",
"subtitle": null,
"body": [
"Track keyword performance, search demand, intent, and ranking movement across the terms that matter to the business."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Behavioral Journeys",
"subtitle": null,
"body": [
"Understand how organic visitors move through the site after arriving from search."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Conversion Funnels",
"subtitle": null,
"body": [
"See where organic traffic moves toward meaningful actions and where visitors start dropping off."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Site Intelligence",
"subtitle": null,
"body": [
"Identify technical health issues and optimisation opportunities that could affect organic performance."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Competitive Visibility",
"subtitle": null,
"body": [
"Follow search visibility and share-of-voice movement against relevant competitors."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Local & Global Tracking",
"subtitle": null,
"body": [
"Monitor search performance across markets where location, geography, or international visibility changes the competitive picture."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "THE BEST SEO INSIGHT DOESN’T HAVE TO STAY IN SEO",
"title": "Search Behaviour Can Improve More Than Rankings.",
"intro": [
"Search is one of the clearest expressions of customer intent available to a business.",
"People tell Google what they want to know, what they are comparing, what is confusing them, and sometimes exactly what they are ready to buy.",
"That information can go further.",
"High-value queries can inform paid media. Recurring questions can reveal opportunities for LLMO and AI visibility. Organic behaviour can expose problems in web development. Search language can even sharpen brand messaging.",
"SEO becomes more useful when the rest of the growth system can learn from it."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "FROM SEARCH AUDIT TO CONTINUOUS IMPROVEMENT",
"title": "How We Run SEO.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Establish the Baseline",
"subtitle": null,
"body": [
"We examine technical health, indexation, architecture, rankings, content, authority, competitors, and existing organic performance.",
"The first question is not simply where you rank. It is what is helping or preventing the site from earning valuable visibility."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "Map Search Opportunity",
"subtitle": null,
"body": [
"We connect search demand and intent with existing pages, missing content, customer needs, and business priorities.",
"That gives us a clearer picture of what to fix, create, expand, consolidate, or leave alone."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Fix and Build",
"subtitle": null,
"body": [
"Technical recommendations move into implementation. Existing pages improve. New content fills meaningful gaps. Internal linking gets stronger. Authority work supports the areas where competition demands it.",
"The roadmap determines the order rather than treating every SEO task as equally urgent."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Measure What Happens",
"subtitle": null,
"body": [
"Rankings and organic traffic tell us whether visibility is changing.",
"meSEO helps us examine what those visitors do after they arrive.",
"Together, those signals give us a better basis for deciding what should happen next."
],
"list": [],
"cta": null,
"num": "04"
},
{
"kicker": null,
"title": "Keep Compounding",
"subtitle": null,
"body": [
"Search behaviour changes. Competitors publish. Sites grow. Algorithms evolve. New opportunities appear.",
"We keep refining the technical foundation, content, authority, and user experience around what the data continues to reveal."
],
"list": [],
"cta": null,
"num": "05"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "SEARCH CHANGES WHEN THE MARKET CHANGES",
"title": "Local, National, and Multi-Market SEO Need Different Playbooks.",
"intro": [
"The same query can carry different intent depending on where someone searches.",
"Competition changes by city and country. Terminology changes. Search results change. Local signals matter in one market while authority or localisation becomes the bigger issue in another.",
"AI Growth Technologies can adapt technical, content, local, and authority strategies around the markets a business actually needs to compete in.",
"One search strategy. Different competitive realities."
],
"items": [],
"outro": [],
"ctas": [
"EXPLORE INDUSTRIES"
],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "SEO IS PART OF A BIGGER DISCOVERY SYSTEM",
"title": "Explore the Services Around Your Search Strategy.",
"intro": [
"Organic search can reveal what customers want, but those insights become more valuable when other parts of the growth strategy can use them."
],
"items": [
{
"kicker": null,
"title": "LLMO & AI Visibility",
"subtitle": null,
"body": [
"Extend search strategy into ChatGPT, Gemini, AI Overviews, and other generative experiences where customers increasingly ask questions and compare options."
],
"list": [],
"cta": "EXPLORE LLMO"
},
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"Strengthen the technical performance, usability, and conversion experience behind the pages earning organic traffic."
],
"list": [],
"cta": "EXPLORE WEB DEVELOPMENT"
},
{
"kicker": null,
"title": "Paid Media",
"subtitle": null,
"body": [
"Use search demand, keyword intelligence, and organic insights to inform paid acquisition and uncover opportunities across both channels."
],
"list": [],
"cta": "EXPLORE PAID MEDIA"
},
{
"kicker": null,
"title": "Brand",
"subtitle": null,
"body": [
"Build clearer positioning and messaging around the language, questions, and needs customers reveal through search."
],
"list": [],
"cta": "EXPLORE BRAND"
}
],
"outro": [],
"ctas": [
"VIEW ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "How long does SEO take to show results?",
"subtitle": null,
"body": [
"There is no universal SEO timeline. Technical condition, competition, existing authority, content quality, market, and the scale of the work all affect how quickly performance can change. Some technical improvements may be reflected relatively quickly, while competitive organic growth typically requires sustained work over time."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What is included in your SEO services?",
"subtitle": null,
"body": [
"SEO engagements can include technical SEO, on-page optimisation, content strategy, local SEO, internal linking, authority building, competitor analysis, measurement, and behavioural analysis through meSEO. The mix depends on what the site and business actually need."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you provide SEO content writing?",
"subtitle": null,
"body": [
"Yes. Content strategy and production can be part of the SEO program. We develop content around relevant search intent, topical opportunities, customer questions, and the role each page needs to play within the wider site."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Is technical SEO included?",
"subtitle": null,
"body": [
"Yes. Technical SEO is a core part of our approach. We evaluate crawlability, indexation, architecture, internal linking, structured data, Core Web Vitals, and other technical factors that may affect organic visibility."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "What is meSEO, and how does it support SEO?",
"subtitle": null,
"body": [
"meSEO is AI Growth Technologies’ proprietary search and behavioural analytics platform. It helps connect ranking and search data with what organic visitors do after reaching the site, giving us another layer of evidence for content, technical, and conversion decisions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you provide local and multi-location SEO?",
"subtitle": null,
"body": [
"Yes. We can support local and multi-location businesses with location strategy, local landing pages, Google Business Profile considerations, local search signals, and market-specific performance tracking. We adapt the approach to the locations and competitive environment involved."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "READY TO TAKE A CLOSER LOOK AT ORGANIC SEARCH?",
"title": "See Where Your Search Opportunities Really Are.",
"intro": [
"If SEO is already producing traffic, we can assess what that visibility is contributing and where valuable opportunities may still be missed.",
"If organic growth has stalled, we can examine the technical foundation, content, authority, competitors, and visitor behaviour to understand what deserves attention first."
],
"items": [],
"outro": [],
"ctas": [
"REQUEST AN SEO REVIEW"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,449 @@
{
"slug": "services_social-media",
"path": "/services/social-media",
"meta": {
"title": "Social Media Management | AI Growth Technologies",
"description": "Social media strategy, content, community management, paid amplification, and international account management built around your brand and audience."
},
"hero": {
"eyebrow": "PEOPLE DON’T FOLLOW CONTENT CALENDARS.",
"title": "Give Them a Reason to Follow Your Brand.",
"intro": [
"Your audience does not care whether you posted three times this week. They care whether what showed up was useful, interesting, timely, entertaining, or worth remembering.",
"That becomes harder when one brand is speaking to different audiences across different platforms, cities, countries, and cultures.",
"AI Growth Technologies manages social media from strategy and content through community management, creator coordination, paid amplification, and reporting.",
"The brand stays recognizable. The execution adapts to the people seeing it."
],
"items": [],
"outro": [],
"ctas": [
"DISCUSS SOCIAL MEDIA"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "POSTING IS THE EASY PART",
"title": "The Hard Part Is Knowing What Deserves to Be Posted.",
"intro": [
"A full calendar does not mean a strong social presence.",
"Brands can publish constantly and still sound interchangeable. They can chase every trend until their own voice disappears. They can collect likes from people who were never likely to become customers.",
"Good social media needs more judgment than that.",
"What does this audience care about? What belongs on this platform? What should the brand say today? What should it leave alone? Which idea deserves paid support? Which comments need a response? What is actually helping the business?",
"Those are the questions behind the work."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "STRATEGY, CONTENT, COMMUNITY, AND REACH",
"title": "Social Media Management From Planning to Performance.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Strategy & Planning",
"subtitle": null,
"body": [
"Give the social presence a clear reason for being there.",
"We define audiences, platforms, content themes, brand voice, market considerations, publishing priorities, and campaign opportunities so the calendar follows a strategy rather than becoming the strategy."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Content Production",
"subtitle": null,
"body": [
"Create platform-ready content people will actually want to stop for.",
"That can include social copy, graphics, short-form video, campaign creative, content adaptations, and localized assets shaped around the platform and audience."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Community Management",
"subtitle": null,
"body": [
"Pay attention when people respond.",
"We manage relevant comments, conversations, questions, reputation signals, and community interactions so the account behaves like an active brand rather than a broadcast feed."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Paid Amplification",
"subtitle": null,
"body": [
"Put additional reach behind content and campaigns when it makes strategic sense.",
"Organic performance, audience behavior, campaign objectives, and creative response can help determine what deserves additional investment.",
"For broader acquisition campaigns, our Paid Media team connects social advertising with the wider media strategy."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Influencer & Creator Coordination",
"subtitle": null,
"body": [
"Find partnerships that make sense for the brand, audience, and campaign rather than choosing creators on follower count alone.",
"We can support creator sourcing, evaluation, coordination, campaign requirements, and performance review across relevant markets."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Reporting & Insights",
"subtitle": null,
"body": [
"Look beyond the monthly collection of likes, followers, and impressions.",
"We examine content performance, audience response, community activity, paid results, traffic, and other relevant signals to understand what the social strategy should do next."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "ONE BRAND CAN SPEAK TO MORE THAN ONE MARKET",
"title": "International Social Needs More Than Translation.",
"intro": [
"A caption that works in New York may feel completely wrong in Dubai.",
"The same campaign can land differently across countries because humor, cultural references, platform behavior, buying habits, regulations, and even expectations around how a brand should speak can change.",
"That does not mean creating a different identity for every market.",
"It means knowing what should stay consistent and what needs to adapt.",
"We establish the brand elements that should travel, then adjust content, context, timing, creative, and platform execution around the audience in each market.",
"One recognizable brand. More than one way to speak to the people it serves."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "THE BRAND VOICE HAS TO SURVIVE THE PLATFORM",
"title": "TikTok Should Feel Different From LinkedIn. Your Brand Shouldn’t.",
"intro": [
"Every platform has its own rhythm.",
"LinkedIn is not Instagram. Instagram is not TikTok. A short-form video cannot simply become a LinkedIn post because someone changed the dimensions.",
"But adapting to a platform should not mean losing the brand.",
"We start with a clear voice and point of view, then shape the execution around how people actually use each channel.",
"The format changes.",
"The brand does not disappear inside it."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "SOCIAL CAN TELL YOU WHAT YOUR AUDIENCE CARES ABOUT",
"title": "The Comments Are Data Too.",
"intro": [
"Some of the most useful audience research does not arrive in a dashboard.",
"It appears in a question under a post. A repeated objection. A comment people keep liking. A video they watch longer than expected. A topic nobody responds to. A message asking for information that should have been easier to find.",
"We pay attention to those signals.",
"They can shape the next piece of content, but they can also inform brand messaging, website content, SEO, paid campaigns, and even the questions worth addressing through LLMO and AI visibility.",
"Social becomes more useful when what you learn there does not stay there."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "FROM HANDOVER TO A SOCIAL PRESENCE THAT KNOWS WHERE IT’S GOING",
"title": "How We Manage Social Media.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Understand the Brand",
"subtitle": null,
"body": [
"We review the current accounts, audience, competitors, content, brand voice, previous performance, markets, and business priorities.",
"Before deciding what to publish, we need to understand what the brand should sound like and what social is expected to accomplish."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "Build the Plan",
"subtitle": null,
"body": [
"We establish platforms, content themes, publishing cadence, campaign priorities, community guidelines, creative requirements, and market-specific considerations.",
"The plan gives the team direction without making the brand sound preprogrammed."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Create & Publish",
"subtitle": null,
"body": [
"Content moves through writing, design, video, adaptation, approval, and publishing based on the requirements of each account.",
"The goal is consistency without turning every week into the same week."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Listen & Engage",
"subtitle": null,
"body": [
"Once content is live, we pay attention to what comes back.",
"Comments, questions, audience behavior, community response, and emerging conversations help us understand where the brand should participate and what deserves attention."
],
"list": [],
"cta": null,
"num": "04"
},
{
"kicker": null,
"title": "Review & Refine",
"subtitle": null,
"body": [
"We look at what people watched, shared, clicked, ignored, responded to, and acted on.",
"Those signals shape the next cycle so the strategy can improve instead of simply repeating the previous calendar."
],
"list": [],
"cta": null,
"num": "05"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "THE INDUSTRY CHANGES THE CONVERSATION",
"title": "Social Media Should Understand the Business Behind the Account.",
"intro": [
"A luxury hotel should not sound like an auto dealership.",
"A healthcare organization cannot approach social the same way as a fashion brand.",
"Different industries come with different audiences, customer decisions, content opportunities, competitive environments, and, in some cases, regulatory considerations.",
"AI Growth Technologies works across industries where those differences matter."
],
"items": [
{
"kicker": null,
"title": "Hospitality",
"subtitle": null,
"body": [
"Hotels, resorts, restaurant groups, and travel brands need social content that can turn an experience into something people want to see, save, share, and eventually experience themselves."
],
"list": [],
"cta": "EXPLORE HOSPITALITY"
},
{
"kicker": null,
"title": "Medical & Dental",
"subtitle": null,
"body": [
"Healthcare social needs a careful balance of education, credibility, patient relevance, brand voice, and appropriate communication."
],
"list": [],
"cta": "EXPLORE MEDICAL & DENTAL"
},
{
"kicker": null,
"title": "Automotive",
"subtitle": null,
"body": [
"Dealerships, luxury rentals, and automotive businesses compete in a highly visual category where inventory, aspiration, offers, and local relevance can all shape content."
],
"list": [],
"cta": "EXPLORE AUTOMOTIVE"
},
{
"kicker": null,
"title": "E-commerce",
"subtitle": null,
"body": [
"Product businesses need social content that can build familiarity before purchase, support launches, showcase products, work with creators, and give paid campaigns stronger creative to build from."
],
"list": [],
"cta": "EXPLORE E-COMMERCE"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "SOCIAL WORKS BETTER WHEN THE REST OF THE BRAND IS CONNECTED",
"title": "Explore the Services Around Your Social Strategy.",
"intro": [
"Social media can create attention, familiarity, audience insight, and demand. The next step often depends on what surrounds it."
],
"items": [
{
"kicker": null,
"title": "Brand",
"subtitle": null,
"body": [
"Give social content a clearer voice, identity, positioning, and message to carry into every platform and market."
],
"list": [],
"cta": "EXPLORE BRAND"
},
{
"kicker": null,
"title": "Paid Media",
"subtitle": null,
"body": [
"Take the right audiences, messages, and creative into campaigns designed around acquisition and measurable business outcomes."
],
"list": [],
"cta": "EXPLORE PAID MEDIA"
},
{
"kicker": null,
"title": "Web Development",
"subtitle": null,
"body": [
"Give social traffic a website and landing experience designed to continue the conversation and make the next action easy."
],
"list": [],
"cta": "EXPLORE WEB DEVELOPMENT"
},
{
"kicker": null,
"title": "Digital Marketing Consulting",
"subtitle": null,
"body": [
"Connect social strategy with the wider marketing, customer acquisition, brand, and growth decisions behind the business."
],
"list": [],
"cta": "EXPLORE CONSULTING"
}
],
"outro": [],
"ctas": [
"VIEW ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "Do you manage international social media accounts?",
"subtitle": null,
"body": [
"Yes. We can manage social media across multiple markets while keeping the wider brand consistent. Content, timing, platform strategy, creative, and audience approach can be adapted to the needs of individual markets rather than simply duplicating the same feed everywhere."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Does social media management include content creation?",
"subtitle": null,
"body": [
"Yes. Depending on the engagement, content production can include copywriting, graphic design, short-form video editing, campaign creative, platform adaptations, and localized content."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Which social media platforms do you manage?",
"subtitle": null,
"body": [
"The platform mix depends on the business and audience. Management can include major platforms such as Instagram, Facebook, LinkedIn, TikTok, Pinterest, and other channels where the brand has a meaningful reason to participate."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you provide community management?",
"subtitle": null,
"body": [
"Yes. Community management can include monitoring and responding to relevant comments, questions, conversations, and reputation signals based on agreed brand and escalation guidelines."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Can you manage paid social campaigns too?",
"subtitle": null,
"body": [
"Yes. Paid amplification can support social content and campaigns, while broader performance advertising can be coordinated through our Paid Media service. The approach depends on the objective, audience, and scale of the campaign."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How do you measure social media performance?",
"subtitle": null,
"body": [
"We choose metrics based on what social media is expected to accomplish. That can include reach, engagement, audience growth, video consumption, website traffic, leads, conversions, paid performance, and other relevant business outcomes. We use those results to guide what should change in the next content cycle."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "NEED A TEAM TO RUN SOCIAL?",
"title": "Start With the Accounts, Markets, and Audience You Need to Reach.",
"intro": [
"Whether you need one account managed properly or a coordinated presence across multiple markets, we can look at what is already working, what is missing, and what the social strategy needs to accomplish.",
"Then we build the right level of support around it."
],
"items": [],
"outro": [],
"ctas": [
"DISCUSS SOCIAL MEDIA"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
@@ -0,0 +1,412 @@
{
"slug": "services_web-development",
"path": "/services/web-development",
"meta": {
"title": "Web Development Services | AI Growth Technologies",
"description": "Build fast, scalable websites and web applications designed around user experience, conversion, SEO, AI visibility, performance, and growth."
},
"hero": {
"eyebrow": "EVERY CLICK HAS TO LAND SOMEWHERE.",
"title": "Build a Website Worth Sending Traffic To.",
"intro": [
"You can rank first. Run a great campaign. Get mentioned in an AI answer. Build an audience on social.",
"Eventually, someone reaches your website.",
"What happens next determines whether all that attention turns into something useful.",
"AI Growth Technologies designs, develops, and maintains websites and web applications around performance, usability, conversion, search visibility, and the systems your business depends on.",
"Because the website should not be where the customer journey breaks."
],
"items": [],
"outro": [],
"ctas": [
"DISCUSS YOUR WEBSITE"
],
"form": false,
"level": "h1",
"kind": "text"
},
"sections": [
{
"eyebrow": "YOUR WEBSITE HAS MORE THAN ONE JOB",
"title": "A Website Is Infrastructure, Not a Brochure.",
"intro": [
"It has to load quickly. Make sense immediately. Work across devices. Help visitors find what they need. Give search engines a clear structure to crawl. Give AI systems useful information to interpret. Connect with the tools behind the business. And make the next action easy.",
"A beautiful interface cannot compensate for a slow site.",
"More traffic cannot compensate for a confusing conversion path.",
"And a redesign is not much of an improvement if the same problems return six months later.",
"We build websites around how they need to perform after launch, not simply how they look on launch day."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "DESIGN IT. BUILD IT. KEEP IT WORKING.",
"title": "Web Development From First Click to Conversion.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Marketing Websites",
"subtitle": null,
"body": [
"Build high-performance websites around the people you need to reach and the actions you want them to take.",
"Site architecture, page hierarchy, messaging, UX, development, and conversion paths work together instead of being treated as separate decisions."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Web Applications",
"subtitle": null,
"body": [
"Develop custom digital experiences when the business needs more than a conventional marketing site.",
"That can include portals, interactive functionality, custom workflows, integrations, and other application requirements shaped around how the business actually operates."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "UX & Conversion",
"subtitle": null,
"body": [
"Make important actions easier to understand and complete.",
"We examine navigation, page structure, calls to action, forms, content hierarchy, and user behavior to reduce unnecessary friction between arrival and conversion."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Performance & Core Web Vitals",
"subtitle": null,
"body": [
"Build performance into the site rather than treating speed as a cleanup task after launch.",
"We consider page weight, rendering, responsive behavior, technical performance, and Core Web Vitals as part of the development process."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "SEO & AI Foundations",
"subtitle": null,
"body": [
"Give search engines and AI systems a clearer technical and informational foundation to work with.",
"Crawlable architecture, internal linking, semantic structure, structured data, content hierarchy, and technical accessibility can support both SEO and LLMO."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Maintenance & Continuous Improvement",
"subtitle": null,
"body": [
"Keep the website current after it goes live.",
"Ongoing support can include updates, backups, performance monitoring, security maintenance, technical fixes, and iterative improvements as the business and website evolve."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "cards"
},
{
"eyebrow": "DESIGN GETS THE ATTENTION. UX GETS THE ACTION.",
"title": "Build Around What the Visitor Came to Do.",
"intro": [
"People rarely arrive at a business website because they want to admire its design.",
"They arrive with a reason.",
"They may want to understand a service, compare options, check credibility, find a location, see previous work, get a price, make an inquiry, or decide whether the business belongs on their shortlist.",
"Good UX makes that next step easier.",
"That means understanding the questions visitors arrive with, organizing information around those questions, and removing unnecessary friction between interest and action.",
"The visual design supports that experience.",
"It should never get in its way."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "TRAFFIC SOURCES CHANGE. THE WEBSITE HAS TO HANDLE ALL OF THEM.",
"title": "Your Growth Channels Eventually Meet on the Website.",
"intro": [
"A paid visitor may arrive ready to act.",
"An organic visitor may still be researching.",
"Someone who first encountered the brand through AI may arrive looking for confirmation.",
"A social visitor may know the name but very little about the business.",
"Those visitors do not necessarily need the same information, but they all depend on the same website.",
"That is why web development at AI Growth Technologies is connected to the wider growth system.",
"Insights from paid media can improve landing experiences. SEO can shape architecture and content. LLMO and AI visibility can influence how information is structured. Brand keeps the experience recognizable wherever the visitor came from.",
"The website gives those channels somewhere to finish the job."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "THE SITE HAS TO WORK BEHIND THE SCREEN TOO",
"title": "Good Development Should Make the Business Easier to Run.",
"intro": [
"Visitors see pages.",
"Behind those pages may sit forms, analytics, CRM connections, lead routing, content systems, third-party tools, tracking, custom functionality, and workflows the business relies on every day.",
"Those connections matter.",
"A website that looks polished but creates manual work behind the scenes is only solving half the problem.",
"We consider the systems surrounding the site so the finished platform can support both the customer experience and the people responsible for running it."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "FROM FIRST BRIEF TO A SITE BUILT TO LAST",
"title": "How We Approach Web Development.",
"intro": [],
"items": [
{
"kicker": null,
"title": "Discovery & Requirements",
"subtitle": null,
"body": [
"We start with the business, audience, current website, growth strategy, functionality, integrations, technical requirements, and the actions the site needs to support.",
"That gives the project a reason for every important decision that follows."
],
"list": [],
"cta": null,
"num": "01"
},
{
"kicker": null,
"title": "UX & Architecture",
"subtitle": null,
"body": [
"We map site structure, navigation, page relationships, user paths, content requirements, and conversion opportunities.",
"The objective is to make the experience logical before visual design begins covering it."
],
"list": [],
"cta": null,
"num": "02"
},
{
"kicker": null,
"title": "Design",
"subtitle": null,
"body": [
"We translate the architecture into an interface that reflects the brand and gives important information and actions the right visual priority.",
"Design decisions are made around usability as well as appearance."
],
"list": [],
"cta": null,
"num": "03"
},
{
"kicker": null,
"title": "Development & QA",
"subtitle": null,
"body": [
"The approved experience moves into development, integrations, responsive implementation, performance work, tracking setup, and testing.",
"We check the experience across relevant devices and browsers before launch."
],
"list": [],
"cta": null,
"num": "04"
},
{
"kicker": null,
"title": "Launch & Improve",
"subtitle": null,
"body": [
"Going live is the beginning of the website's real job.",
"After launch, performance, maintenance, user behavior, marketing data, and changing business needs can reveal what deserves improvement next."
],
"list": [],
"cta": null,
"num": "05"
}
],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "steps"
},
{
"eyebrow": "A WEBSITE SHOULD NOT AGE THE DAY IT LAUNCHES",
"title": "Maintenance Keeps the Foundation Ready for What Comes Next.",
"intro": [
"Businesses change.",
"New services launch. Campaigns create new landing-page needs. Search behavior shifts. Content grows. Integrations change. Software gets updated. New technical issues appear.",
"The website needs to move with those changes.",
"Ongoing maintenance gives the business a way to address performance, security, updates, technical issues, and new requirements without waiting for the next complete rebuild.",
"Continuous improvement goes further by using what visitors and marketing performance reveal to make the experience better over time."
],
"items": [],
"outro": [],
"ctas": [],
"form": false,
"level": "h2",
"kind": "text"
},
{
"eyebrow": "THE WEBSITE SITS IN THE MIDDLE OF THE SYSTEM",
"title": "Explore the Services Around Your Website.",
"intro": [
"A stronger website creates more value when the channels sending people there are working toward the same goals."
],
"items": [
{
"kicker": null,
"title": "SEO",
"subtitle": null,
"body": [
"Build organic visibility on top of a technical architecture designed to support crawlability, content, internal linking, and search performance."
],
"list": [],
"cta": "EXPLORE SEO"
},
{
"kicker": null,
"title": "LLMO & AI Visibility",
"subtitle": null,
"body": [
"Structure important brand and business information so it can better support discovery across generative and answer-driven experiences."
],
"list": [],
"cta": "EXPLORE LLMO"
},
{
"kicker": null,
"title": "Paid Media",
"subtitle": null,
"body": [
"Connect campaigns with landing experiences designed around the audience, offer, conversion path, and measurement behind the spend."
],
"list": [],
"cta": "EXPLORE PAID MEDIA"
},
{
"kicker": null,
"title": "Cybersecurity",
"subtitle": null,
"body": [
"Strengthen the security and resilience of the digital infrastructure the business increasingly depends on."
],
"list": [],
"cta": "EXPLORE CYBERSECURITY"
}
],
"outro": [],
"ctas": [
"VIEW ALL SERVICES"
],
"form": false,
"level": "h2",
"kind": "links"
},
{
"eyebrow": "FREQUENTLY ASKED QUESTIONS",
"title": null,
"intro": [],
"items": [
{
"kicker": null,
"title": "What types of websites does AI Growth Technologies build?",
"subtitle": null,
"body": [
"We build marketing websites, corporate sites, lead-generation websites, and custom web applications based on the needs of the business. The architecture, functionality, and technology are determined by what the website needs to accomplish rather than forcing every project into the same framework."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you redesign existing websites?",
"subtitle": null,
"body": [
"Yes. A redesign can address visual experience, site architecture, usability, performance, conversion paths, technical SEO, content structure, integrations, or a combination of these. We first identify what needs to change so the project solves more than an outdated appearance."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you build custom web applications?",
"subtitle": null,
"body": [
"Yes. We can develop web applications and custom functionality when a business needs portals, integrations, workflows, interactive features, or capabilities beyond a standard marketing website."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "Do you provide ongoing website maintenance?",
"subtitle": null,
"body": [
"Yes. Ongoing support can include software updates, backups, performance monitoring, security maintenance, technical fixes, and continued improvements depending on the website and engagement."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does web development support SEO and AI visibility?",
"subtitle": null,
"body": [
"Technical architecture affects how search engines and other systems discover and interpret website information. Crawlability, internal linking, semantic HTML, structured data, performance, and clear content relationships can provide a stronger foundation for SEO and AI visibility work."
],
"list": [],
"cta": null
},
{
"kicker": null,
"title": "How does web development connect with paid media?",
"subtitle": null,
"body": [
"Paid campaigns ultimately depend on the experience after the click. We can connect campaign strategy with relevant landing pages, conversion paths, analytics, tracking, and ongoing UX improvements so the website supports the traffic being purchased rather than becoming a separate part of the process."
],
"list": [],
"cta": null
}
],
"outro": [],
"ctas": [],
"form": false,
"kind": "faq"
},
{
"eyebrow": "THINKING ABOUT A NEW WEBSITE?",
"title": "Start With What the Website Needs to Do.",
"intro": [
"Whether you are replacing an outdated site, improving an existing one, or building something new, we can start with the business requirements, audience, technology, and growth channels the website needs to support.",
"Then we can determine what should actually be built."
],
"items": [],
"outro": [],
"ctas": [
"DISCUSS YOUR WEB PROJECT"
],
"form": false,
"level": "h2",
"kind": "text"
}
]
}
+13
View File
@@ -0,0 +1,13 @@
import type { Metadata } from "next";
import type { Page } from "./pages";
export function pageMetadata(page: Page): Metadata {
const title = page.meta.title ?? "AI Growth Technologies";
const description = page.meta.description ?? undefined;
return {
title,
description,
alternates: { canonical: page.path },
openGraph: { type: "website", url: page.path, siteName: "AI Growth Technologies", title, description },
};
}
+86
View File
@@ -0,0 +1,86 @@
import about from "@/content/pages/about.json";
import contact from "@/content/pages/contact.json";
import services from "@/content/pages/services.json";
import industries from "@/content/pages/industries.json";
import paidMedia from "@/content/pages/services_paid-media.json";
import seo from "@/content/pages/services_seo.json";
import llmo from "@/content/pages/services_llmo.json";
import webDevelopment from "@/content/pages/services_web-development.json";
import socialMedia from "@/content/pages/services_social-media.json";
import brand from "@/content/pages/services_brand.json";
import consulting from "@/content/pages/services_consulting.json";
import cybersecurity from "@/content/pages/services_cybersecurity.json";
import hospitality from "@/content/pages/industries_hospitality.json";
import medicalDental from "@/content/pages/industries_medical-dental.json";
import automotive from "@/content/pages/industries_automotive.json";
import ecommerce from "@/content/pages/industries_e-commerce.json";
import homeServices from "@/content/pages/industries_home-services.json";
import b2b from "@/content/pages/industries_b2b.json";
import creators from "@/content/pages/industries_creators.json";
import { industryNav, serviceNav } from "./routes";
export type SectionKind = "text" | "cards" | "steps" | "faq" | "links" | "stats" | "offices" | "showcase";
export type Item = {
kicker: string | null;
title: string;
subtitle: string | null;
body: string[];
list: string[];
cta: string | null;
num?: string;
};
export type Section = {
eyebrow: string | null;
title: string | null;
intro: string[];
items: Item[];
outro: string[];
ctas: string[];
form: boolean;
kind: SectionKind | string;
};
export type Page = {
slug: string;
path: string;
meta: { title: string | null; description: string | null };
hero: Section;
sections: Section[];
};
const serviceContent: Record<string, unknown> = {
"paid-media": paidMedia,
seo,
llmo,
"web-development": webDevelopment,
"social-media": socialMedia,
brand,
consulting,
cybersecurity,
};
const industryContent: Record<string, unknown> = {
hospitality,
"medical-dental": medicalDental,
automotive,
"e-commerce": ecommerce,
"home-services": homeServices,
b2b,
creators,
};
export const pages = { about, contact, services, industries } as unknown as Record<
"about" | "contact" | "services" | "industries",
Page
>;
export function getService(slug: string): Page | undefined {
return serviceNav.some((s) => s.slug === slug) ? (serviceContent[slug] as Page) : undefined;
}
export function getIndustry(slug: string): Page | undefined {
return industryNav.some((s) => s.slug === slug) ? (industryContent[slug] as Page) : undefined;
}
+68
View File
@@ -0,0 +1,68 @@
// Route map and navigation. Kept free of page content so client components can import it.
export const SITE_URL = "https://www.aigrowthtechnologies.com";
export const CONTACT_EMAIL = "info@aigrowthtechnologies.com";
export const serviceNav = [
{ slug: "paid-media", name: "Paid Media" },
{ slug: "seo", name: "SEO" },
{ slug: "llmo", name: "LLMO & AI Visibility" },
{ slug: "web-development", name: "Web Development" },
{ slug: "social-media", name: "Social Media" },
{ slug: "brand", name: "Brand" },
{ slug: "consulting", name: "Consulting" },
{ slug: "cybersecurity", name: "Cybersecurity" },
] as const;
export const industryNav = [
{ slug: "hospitality", name: "Hospitality" },
{ slug: "medical-dental", name: "Medical & Dental" },
{ slug: "automotive", name: "Automotive" },
{ slug: "e-commerce", name: "E-Commerce" },
{ slug: "home-services", name: "Home Services" },
{ slug: "b2b", name: "B2B & SaaS" },
{ slug: "creators", name: "Creators & Personal Brands" },
] as const;
export const mainNav = [
{ label: "Services", href: "/services", children: serviceNav.map((s) => ({ label: s.name, href: `/services/${s.slug}` })) },
{ label: "Industries", href: "/industries", children: industryNav.map((s) => ({ label: s.name, href: `/industries/${s.slug}` })) },
{ label: "About", href: "/about" },
{ label: "Contact", href: "/contact" },
];
// Industry keywords are checked before services so "Creators & Personal Brands" never resolves to Brand.
const industryKeys: [RegExp, string][] = [
[/HOSPITALITY/, "hospitality"],
[/MEDICAL|DENTAL/, "medical-dental"],
[/AUTOMOTIVE/, "automotive"],
[/E-COMMERCE/, "e-commerce"],
[/HOME SERVICES/, "home-services"],
[/B2B/, "b2b"],
[/CREATOR/, "creators"],
];
const serviceKeys: [RegExp, string][] = [
[/PAID MEDIA|ATRILYX/, "paid-media"],
[/LLMO|AI VISIBILITY/, "llmo"],
[/\bSEO\b|MESEO/, "seo"],
[/WEB|WEBSITE/, "web-development"],
[/SOCIAL/, "social-media"],
[/BRAND/, "brand"],
[/CONSULTING/, "consulting"],
[/CYBERSECURITY|KORRITH/, "cybersecurity"],
];
/** Resolve a CTA label from the copy deck to a route. Anything that asks for a conversation goes to contact. */
export function hrefFor(label: string, currentPath = ""): string {
const t = label.toUpperCase();
const contact = currentPath === "/contact" ? "#contact-form" : "/contact";
if (/\bALL SERVICES\b|OUR SERVICES/.test(t)) return "/services";
if (/ALL INDUSTRIES|OUR INDUSTRIES|^EXPLORE INDUSTRIES/.test(t)) return "/industries";
if (/DISCOVER AI GROWTH|MEET OUR TEAM|OUR APPROACH/.test(t)) return "/about";
if (/^(EXPLORE|SEE|EXAMINE|VIEW|LEARN)\b/.test(t)) {
for (const [re, slug] of industryKeys) if (re.test(t)) return `/industries/${slug}`;
for (const [re, slug] of serviceKeys) if (re.test(t)) return `/services/${slug}`;
}
return contact;
}