A car distributor’s website in the Gulf carries every model and trim the brand sells, in Arabic and English, often for more than one country. Prices and offers change with each model year and campaign, and each one needs a disclaimer that legal has approved. Dealers want their own city offers. Used cars and stock live in the dealer management system (DMS), and every test drive or service request has to reach the CRM, because a lead the showroom never sees is a lost sale.
Many of these sites were built page by page, so one price change means editing dozens of pages and hoping no disclaimer is missed. SitecoreAI, which Sitecore launched as the evolution of XM Cloud, can run them as data. Here is how we structure models, offers, stock, forms and Arabic on it.
Model the range once, as data
Treat models, trims, prices, offers and disclaimers as content types, each with one home, and let pages assemble them. A trim page, a comparison table and an offer banner then read the same price, and a change made once reaches every page.
| Content | Where it lives | How it reaches the page |
|---|---|---|
| Models and trims | SitecoreAI items, one per model and trim, with the manufacturer’s model code | Model, trim and comparison components |
| Specifications | The manufacturer or product feed, imported into the model items | Specification tables |
| Prices and offers | Offer items with a market, models, start and end dates, under workflow | Offer components, filtered by market |
| Price disclaimers | One disclaimer item per offer type, approved by legal | Referenced by every component that shows a price |
| Imagery and brochures | A DAM such as Content Hub | Image and download components |
| Used cars and stock | The DMS or stock system | Fetched at request time, and indexed for search |
| Test drive and service requests | The CRM | Form webhooks, through an integration layer |
Two platform details shape this. Sitecore’s documentation on template fields says a shared field holds one value for every language and version, and that workflow and publishing restrictions do not apply to shared fields. Model codes can be shared. Keep prices and disclaimers in ordinary versioned fields, so every change passes through approval in each language. For manufacturer imagery, Content Hub’s digital rights management restricts licensed assets through rights profiles and contracts that cover territory, media and time period.
Offers by country and city, with the disclaimer attached
Offers cause the most trouble: a campaign ends, the banner stays, and the website price no longer matches the showroom. Give every offer a market, the models it covers, start and end dates and a disclaimer, and put the disclaimer on the offer item, where no page can publish the price without it.
For timing, Sitecore’s scheduled publishing guidance recommends scheduling a page’s availability through versions for most cases. It also shows date and time personalization conditions that reveal a variant after a start date and hide it with an end condition. Where timing must be exact, it warns that the latency of embedded personalization may rule that out, and suggests a scheduled publish job.
Country is the easy part: run a site per country where offers, prices and legal text differ. City is harder. SitecoreAI’s built-in geography conditions target country and region, so city offers belong on city and dealer pages, or behind the showroom the visitor selects.
Stock and used cars from other systems
Stock changes during the day, so it should not be authored as content. Keep the DMS or stock system as the source and give the website two routes to it:
- Listings and detail pages, rendered by the front-end application from the stock API with short caching, so a sold car leaves the site quickly.
- Search and filters through Sitecore Search, which indexes items from pull sources, including an API crawler for JSON endpoints, or from an API push source fed by its Ingestion API. Sitecore says the choice depends on how items can be accessed, how often they change and how much. Stock changes often, which favours push.
Agree the fields with the DMS owner early: make, model, trim, year, mileage, price, location and photos, plus the model code that links a used car back to its model page.
Test drive and service forms that land in the CRM
SitecoreAI Forms sends data to other applications without capturing it, through webhooks, and a form needs a webhook before it can be activated. The webhook is therefore the only path to the lead. Point it at an integration layer that validates, logs and retries before it creates the lead in the CRM. Sitecore names Connect and Zapier as destinations, and MuleSoft fits groups that already run it.
- Secure the endpoint. The webhook endpoint must be public HTTPS on port 443 or 8443 with TLS 1.2 or 1.3, and should use one of the documented authentication methods, such as OAuth 2. Test submissions carry a test flag, so filter them out of the CRM.
- Read the response. Sitecore’s webhook troubleshooting describes a negative response, often with HTTP 200, where the body reports failure. Monitor the response body as well as the status.
- Send codes. Custom values let select, radio and checkbox fields send hidden text through the webhook in place of the option labels. Use model and showroom codes, and the Arabic and English forms send the same values.
- Book real slots elsewhere. A form captures a request. Where the customer must pick a real time, use a booking component that calls the CRM or DMS scheduler.
Send the consent wording, language and page with every submission, so the showroom knows what the customer agreed to and in which language to call back.
Arabic and personalization by model interest
Run Arabic as a full language version with its own approvals. In a headless build, the front-end application sets right-to-left direction and language from the route, which our Arabic-first Sitecore guide covers in detail. SitecoreAI can translate a page with AI: it creates language versions of the page and its data sources, starts them in the first workflow state unless you choose to keep the source state, and excludes shared fields. The page lists no supported languages, so test the Arabic output, assign a brand kit to keep model and trim names consistent, and have legal review every translated disclaimer.
For model interest, SitecoreAI’s embedded personalization builds audiences from conditions that include the pages a visitor has viewed, so someone who browsed one model can see its offers and a test drive prompt on the home page. Custom conditions built in Sitecore Personalize, and visitor data from CDP, can extend those audiences, though Sitecore says upgrading does not backfill earlier history. Personalization uses cookies to recognize visitors, so cover it in your consent banner. Our personalization guide compares the options.
Where to start
- List every model, trim and market, with the source of each price and specification.
- Design the offer and disclaimer types with legal before building pages, including how each offer ends.
- Agree the stock fields and the update route, push or crawl, with the DMS owner.
- Map every form field to the CRM, with codes, consent and language, and test what happens when delivery fails.
- Test Arabic pages, forms and search with Arabic-speaking customers before launch.
Frequently asked questions
Can SitecoreAI show different offers by country and city?
Yes. Country is best handled with a site per country. The built-in geography conditions target country and region, so city offers sit on city and dealer pages or behind the showroom a visitor selects.
Should used-car stock be stored in SitecoreAI?
No. Keep the DMS or stock system as the source, render listings from its API with short caching, and index stock into Sitecore Search through an API crawler or the Ingestion API.
Do SitecoreAI Forms keep a copy of test drive requests?
No. Forms sends submissions to other systems through webhooks without capturing user data, so the integration layer behind the webhook should log and retry every submission.
Can SitecoreAI translate pages into Arabic?
SitecoreAI can translate a page with AI into languages enabled on the site, creating language versions that start in workflow by default. Its documentation lists no supported languages, so have Arabic speakers review the output, especially price disclaimers.
Can we personalize by the model a visitor is interested in?
Yes. Embedded personalization builds audiences from conditions such as the pages a visitor has viewed, so a visitor who browsed one model can see its offers. Sitecore Personalize and CDP add custom conditions and more visitor data.
Sources
- Sitecore: Sitecore unveils SitecoreAI (press release, November 2025)
- Sitecore Documentation: The template field template
- Sitecore Documentation: Digital rights management in Content Hub
- Sitecore Developer Portal: Scheduled publishing in SitecoreAI
- Sitecore Documentation: Personalize in SitecoreAI
- Sitecore Documentation: Index searchable items in Sitecore Search
- Sitecore Documentation: Forms in SitecoreAI
- Sitecore Documentation: Work with webhooks in Forms
- Sitecore Changelog: New features in XM Cloud Forms, including custom values (May 2024)
- Sitecore Documentation: Translate a page with AI in SitecoreAI






