
Shops have feeds. You have adjectives.
When an AI assistant answers "what does this shop sell and for how much", it has raw material to work with: product feeds, the data lists shops maintain with every item and price, plus Product markup and price comparison data. Markup, by the way, just means extra labels in a page's source code that spell out facts for machines. The data may be incomplete or stale, but it exists. Now ask the same assistant "which agency near Munich builds Shopify stores for B2B brands, and what does that cost". The raw material for that answer is, on most agency websites, a hero headline about passion, a services page that says "we offer holistic solutions", and a contact form.
That is the structural disadvantage: services have no natural data format. Nobody forces a consultancy to maintain a feed of what it sells, at what price, for whom. So nothing machine-readable exists, and the assistant either skips the company entirely or falls back on what third parties say about it. And this is happening while buying itself goes agentic: Gartner projects that by 2028, 90% of B2B buying will be intermediated by AI agents, covering more than $15 trillion in purchases. The companies whose offerings are machine-readable will be the ones those agents can actually consider.
How AI assistants assemble a service recommendation
An assistant asked to recommend a provider does not "know" who is good. It assembles an answer from evidence it can parse, meaning read and break down into usable facts:
- Directories and registers that list providers with categories, locations and specializations.
- Review platforms where ratings and review texts are structured and attributable.
- Structured descriptions on the provider's own site: what exactly is offered, for whom, where, at what kind of price.
- Consistency across sources: the same facts appearing in multiple places make a claim quotable.
Now hold a typical services page against that list. "We deliver holistic, tailor-made solutions with passion" contains zero parseable facts: no service name, no target segment, no region, no price signal. It is not that the assistant dislikes your writing. It is that there is nothing in the sentence a machine can extract, compare or cite. Unstructured self-description is not evidence; it is decoration.
The fix is not better adjectives. The fix is giving each offering a machine-readable identity.
Marking up a service as a Service entity
Schema.org, the shared vocabulary that search engines and AI providers use to label facts on websites, has a type for exactly this, and it is underused to a degree that makes it an advantage. A Service entity is one clearly described offering in that vocabulary, with its facts attached. You add it as JSON-LD, a small data packet in your page's source code that visitors never see but machines read. One block per offering, on the page that describes it:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Service",
"name": "Shop Migration to Shopify",
"serviceType": "E-commerce platform migration",
"description": "Complete migration of an existing online shop to Shopify: data migration for products, customers and orders, theme setup, URL redirects and go-live support. Typical duration 6 to 10 weeks.",
"provider": {
"@type": "Organization",
"name": "Example Agency GmbH",
"url": "https://www.example-agency.de"
},
"areaServed": ["DE", "AT", "CH"],
"offers": {
"@type": "Offer",
"priceCurrency": "EUR",
"priceSpecification": {
"@type": "PriceSpecification",
"minPrice": 9500,
"priceCurrency": "EUR"
}
}
}
</script>
Notice what this block does that the prose version cannot: it names the service precisely, states who provides it (the provider block is an Organization entry, a machine-readable business card for your company), where, and from what price. An assistant matching "Shopify migration, DACH region, mid-range budget" now has something to match against. The granularity matters more than the polish: one Service block per distinct offering beats a single vague block for "our services", because buyers and their agents search for specific needs, not for company self-portraits.
Pricing: "from X" and "on request" can be structured too
The standard objection: "our prices are individual, we cannot publish them." You do not have to publish a fixed price to be machine-readable. The example above uses minPrice, an honest "from 9,500 euros" that lets an assistant place you in a budget range without committing you to a quote. If even that is too much, name the pricing model in the description: project-based, monthly retainer, day rate. An assistant can work with "project-based, typical engagements from the mid five figures". It can do nothing with a page that treats price like a state secret, except leave you out of any answer where budget is part of the question. And budget is almost always part of the question.
Case studies: evidence, not applause
Case studies are the service world's substitute for product reviews, and most are written to be unusable: "significant uplift", "seamless collaboration", no industry, no timeframe, no numbers. For a machine, and honestly for a skeptical buyer, these are empty. A quotable case study states verifiable specifics: the industry, the scope, the duration, what was delivered, what measurably changed. If the real numbers are confidential, say what kind of outcome was achieved rather than inventing one; a fabricated metric that gets quoted and then challenged does more damage than no metric at all. Structure helps here too: consistent fact patterns across your case studies make them parseable as a body of evidence rather than a wall of testimonials.
Doing this at scale, and keeping it true
Everything above can be hand-built for a firm with three services. It gets harder with fifteen offerings across two languages, and genuinely hard when descriptions, prices and team facts keep evolving, because markup that drifts away from reality quietly becomes a liability. This is the same scaling problem shops face, wearing a suit. Klariton's Schema Export handles services the same way it handles products: your offerings are maintained once as structured entities and published as Service markup that crawlers, the programs AI systems send out to read websites, can pick up directly. Safe Guard meanwhile keeps checking that what is being served still matches the sources it came from, so your website and your markup cannot drift apart unnoticed. And the same baseline applies here as everywhere: the markup must be in the server-delivered HTML, the version of the page your server sends before any scripts run, because most AI crawlers do not execute JavaScript. That combination, machine-readable and verifiably current, is what agentic reach means for a services business.
Frequently asked questions
Which schema type fits a consultancy or agency?
Use Organization markup once for the company itself, and a separate Service entity for each distinct offering. LocalBusiness or ProfessionalService can make sense for location-bound providers. The decisive move is granularity: one precise Service block per offering beats one vague block for the whole company, because assistants match against specific needs, not against company descriptions.
Our prices are individual. Can we still structure pricing?
Yes, and you should. A starting price can be expressed with a PriceSpecification carrying minPrice, and even a price-on-request model becomes more machine-readable when you name the pricing structure, for example project-based or a monthly retainer, in the service description. An assistant can work with a from-price or a named model. It can do nothing with silence.
Do AI assistants actually use Service markup today?
Assistants build recommendations from whatever machine-readable evidence exists: directories, review platforms, structured descriptions and consistent facts across sources. Service markup is one of the strongest signals you directly control. It does not guarantee being recommended, but it decides whether your offering can be parsed, compared and quoted at all, which is the qualifying round.
What makes a case study usable for AI?
Verifiable specifics. Industry, project scope, duration, what was delivered and what measurably changed, stated in plain factual sentences a machine can lift and attribute. Superlatives without evidence get ignored, and invented numbers are worse than none. If a result is confidential, describe the type of outcome honestly rather than fabricating a figure.
The free Klariton check reads your site the way AI crawlers do and shows what is machine-readable about your offerings today: which facts exist, which are prose-only, and where the gaps are that keep you out of AI answers.