Getting Recommendations

Froomle offers multiple modes for delivering personalization, ranging from real-time website modules to scheduled newsletter exports. Choosing the right delivery mode ensures that your recommendations reach users through the most effective channel.

This step assumes item synchronization is already in place and page/business event tracking has been designed first. For the full onboarding order, see Getting Started.

Choose a recommendation integration method

Method Choose this when Start here

1. Frontend SDK (recommended for browser/web)

You want declarative, JavaScript/TypeScript, or React recommendation rendering with SDK-managed request state and supported attribution.

Getting Recommendations with the Frontend SDK

2. Manual / custom integration

You request and render recommendations in a backend, mobile app, or custom API integration.

Manual Recommendation Integration

Both methods use the shared Recommendation Request Model.

Integration Lifecycle

The transition from goal setting to live recommendations follows a standard sequence:

1. Preparation

  • Stakeholder: Customer integration developer (frontend/backend).

  • Requirements: Modules and placements defined during onboarding.

  • Prerequisites: Item catalog sync running and validated; page/business event tracking contract agreed.

  • Access: Environments and credentials active for test and production.

2. Modules

Modules are the building blocks of any Froomle integration. Each module represents a distinct placement in your user experience—such as a "Recommended for you" section on the home page—and maps to a fit-for-purpose backend ensemble that defines its underlying behavior. Before implementation, you’ll select the modules that best align with your specific business goals.

  • For more details on defining modules, see Modules and placements.

  • For specialized content patterns (e.g., "Trending", "Similar Articles"), see our News modules library.

3. Specialized delivery modes

Use these guides when the standard real-time recommendation flow above does not match the use case.

Mode Use Case Implementation

Real-time API: Reranking

Personalizing a pre-existing list of articles or search results.

Smart Sorting and Reranking

Batch & Newsletter

Scheduled email campaigns and large-scale precomputed exports.

Batch Recommendations

Push & Audience

Personalized notifications and segment-based targeting.

Audience API

Personalized Search

Retrieving items based on a search query, with personalized relevance ranking.

Search API

4. Build the request contract

For each application of the Froomle engine, you must establish a Request Contract. This includes:

  • Placement: Defining the module and list names, page_type and channels for which you want to receive recommendations.

  • Context: Providing additional fields such as context_item or context_category to anchor the results.

  • Filters and constraints: Applying static or dynamic filters to the recommendation results. See Filters and Constraints.

  • User Identification: Supplying user identifiers such as user_id or device_id, to enable personalized results. See User identity and consent.

See Recommendation Request Model for the shared behavior and the chosen integration method for implementation syntax.

5. Render and Validate

Implement response handling and render logic. If a placement is benchmarked, choose the benchmark ownership model here as part of the recommendation implementation. Validate that the response size and latency fit your performance budget and that empty responses degrade gracefully.

For web integrations, a supported advanced pattern is to fetch recommendations on your backend while still using the browser SDK for event tracking. If you choose that shape, preserve the recommendation attribution metadata in the rendered markup. See Advanced Hybrid Pattern: Backend-Fetched Recommendations + SDK Event Tracking.

6. Feedback Loop

Track recommendation attribution events such as impression or click_on_recommendation events for every module. This closes the loop for the rendered placement. Core page/business events such as page_visit and detail_pageview should already be in place before this step. See User interactions.

Advanced Considerations

SEO and AMP

For SEO-sensitive pages, avoid client-only rendering that hides recommendations from crawlers. If recommendations must be crawlable, render them server-side or use a hybrid approach. For AMP pages, use a compatible integration pattern and limit heavy client-side scripts to keep AMP validation and performance intact.