How Martailer Works

Martailer as an omni-channel retail media platform.

Martailer as an omni-channel retail media platform allows retail companies to automate their advertising business across multiple channels. From usual onsite and offsite to in-store including non-digital ad placements such as billboards or secondary placements.

Our platform, unlike most ad servers, is based on e-commerce recommender system principles, which allows us to achieve far better ad relevancy as well as optimize for KPIs beyond ad revenue. For example, the Martailer platform is able to include product margins in our ad ranking algorithm or mimic cross-sell behavior when ads are rendered on PDPs.

What data is Martailer using?

Martailer ingests several types of data to power both product ads and banners. This data is provided either via sync APIs or configured directly in the Martailer UI, and is continuously fed back into the optimization loop.

Data TypeDescriptionSourceUsage
Product Catalog & MetadataProduct information: productId, name, description, category, brand, attributes, price, margin, discount, stock status, store/region availability.Synced via /sync/productsDefines eligible product ads; ensures only in-stock and allowed products are promoted; fills creative templates with accurate data.
Banner Creatives & InventoryBanner definitions: creative assets (images, HTML, video), format, placement slots, targeting rules, campaign IDs, active/inactive status.Configured in Martailer UI during campaign creation (slots defined in UI, creatives uploaded in UI)Defines eligible banner ads; links banners to campaigns and placements.
Orders & Transaction DataHistorical and live order data: order ID, visitor/customer ID, line items (productId, quantity, price), timestamps, returns/refunds./sync/orders (for history), /log/orders (for real-time)Bootstraps personalization; provides ground truth for conversions; attribution of sales to ads/banners.
Events & Behavioral DataReal-time user interactions: page views, impressions, clicks, session paths, search queries. Includes context (visitorId, customerId, placement, device, timestamp).Logged via /log/eventsPersonalization and ranking inputs; performance tracking (CTR, engagement); feeds real-time learning loops.
Campaign & Targeting RulesCampaign setup: budgets, pacing, bids, multipliers, frequency caps, targeting by placement or audience, blacklists/whitelists.Configured in Martailer UI or via campaign APIsConstrains eligibility; controls prioritization, pacing, and delivery; applies targeting logic across both products and banners.
Performance & Feedback DataAggregated metrics from logs: impressions, clicks, conversions, CTR, CVR, revenue, ROAS.Derived from event and order logsOptimizes bidding, pacing, and selection; feeds model retraining; supports dashboards and reporting.

How does Martailer serve ads?

The following steps describe the ad-serving process as aligned with the Integration Workflow and the /combined/ads API.

StepDescription
1. Ad Request InitiationOn page load (or when a slot should be filled), the client sends a request to /combined/ads. Parameters include visitorId, placement, slotCount, pageType, and optional filters. Both product ads and banners can be requested in the same call.
2. Candidate Retrieval / Pre-FilteringMartailer selects eligible candidates based on product catalog, banner inventory, stock, region/store availability, and campaign rules.
3. Scoring & RankingEach candidate (product or banner) is scored on: Personalization/affinity; Predicted conversion probability; Profitability/margin; Diversity/novelty; Campaign multipliers.
4. Campaign / Budget AdjustmentsRanking is adjusted by pacing, bids, frequency caps, and priority or guaranteed delivery rules.
5. Ad Response Return/combined/ads responds with JSON containing product ads and/or banners. Each ad object includes adId, creative assets, click and impression URLs, and metadata.
6. Rendering in UIYour frontend/backend places the returned ads or banners into the page layout or feed.
7. Impression & Click LoggingWhen an ad or banner is visible: log an impression event via /log/events. On click: log a click event with the relevant adId.
8. Conversion LoggingPurchases are sent to /log/orders with order + line items for attribution.
9. Feedback LoopLogged data is aggregated and used for retraining models, optimizing bids, and improving ad and banner selection.