Skip to main content
Required ACL: editSettings

Examples

var strategy = new SetStrategyRequest
{
    EventsScoring =
        new List<EventsScoring>
        {
            new EventsScoring("Add to cart", "conversion", 50),
            new EventsScoring("Purchase", "conversion", 100)
        },
    FacetsScoring = new List<FacetsScoring>
    {
        new FacetsScoring("brand", 100),
        new FacetsScoring("categories", 10)
    },
    PersonalizationImpact = 50
};

client.SetPersonalizationStrategy(strategy);
strategy := recommendation.Strategy{
	EventsScoring: []recommendation.EventsScoring{
		{"Add to cart", "conversion", 50},
		{"Purchase", "conversion", 100},
	},
	FacetsScoring: []recommendation.FacetsScoring{
		{"brand", 100},
		{"categories", 10},
	},
	PersonalizationImpact: opt.PersonalizationImpact(50),
}

res, err := client.SetPersonalizationStrategy(strategy)
SetStrategyRequest strategy = new SetStrategyRequest()
        .setEventsScoring(Arrays.asList(
                new EventsScoring("Add to cart", "conversion", 50),
                new EventsScoring("Purchase", "conversion", 100)
        ))
        .setFacetsScoring(Arrays.asList(
                new FacetsScoring("brand", 100),
                new FacetsScoring("categories", 10)
        ))
        .setPersonalizationImpact(50);


client.setPersonalizationStrategy(strategy);
recommendation
  .setPersonalizationStrategy({
    eventsScoring: [
      { eventName: "Add to cart", eventType: "conversion", score: 50 },
      { eventName: "Purchase", eventType: "conversion", score: 100 },
    ],
    facetsScoring: [
      { facetName: "brand", score: 100 },
      { facetName: "categories", score: 10 },
    ],
    personalizationImpact: 50,
  })
  .then(() => {
    // done
  });
val strategy = PersonalizationStrategy(
    eventsScoring = listOf(
        EventScoring("Add to cart", "conversion", 50),
        EventScoring("Purchase", "conversion", 100)
    ),
    facetsScoring = listOf(
        FacetScoring("brand", 100),
        FacetScoring("categories", 10)
    ),
    personalizationImpact = 50
)

clientRecommendation.setPersonalizationStrategy(strategy)
$recommendation->setPersonalizationStrategy([
    'eventsScoring' => [
        [
            'eventName' => 'Add to cart',
            'eventType' => 'conversion',
            'score' => 50,
        ],
        [
            'eventName' => 'Purchase',
            'eventType' => 'conversion',
            'score' => 100,
        ],
    ],
    'facetsScoring' => [
        ['facetName' => 'brand', 'score' => 100],
        ['facetName' => 'categories', 'score' => 10],
    ],
    'personalizationImpact' => 50,
]);
recommendation.set_personalization_strategy(
    {
        "eventsScoring": [
            {"eventName": "Add to cart", "eventType": "conversion", "score": 50},
            {"eventName": "Purchase", "eventType": "conversion", "score": 100},
        ],
        "facetsScoring": [
            {"facetName": "brand", "score": 100},
            {"facetName": "categories", "score": 10},
        ],
        "personalizationImpact": 50,
    }
)
client = Algolia::Recommendation::Client.create("YourApplicationID", "YourWriteAPIKey")

client.set_personalization_strategy(
  {
    eventsScoring: [
      {
        eventName: "Add to cart",
        eventType: "conversion",
        score: 50
      },
      {
        eventName: "Purchase",
        eventType: "conversion",
        score: 100
      }
    ],
    facetsScoring: [
      {facetName: "brand", score: 100},
      {facetName: "categories", score: 10}
    ],
    personalizationImpact: 50
  }
)
val strategy = SetStrategyRequest(
  eventsScoring = Seq(
    EventsScoring("Add to cart", "conversion", 50),
    EventsScoring("Purchase", "conversion", 100)
  ),
  facetsScoring = Seq(
    FacetsScoring("brand", 100),
    FacetsScoring("categories", 10)
  ),
  personalizationImpact = 50
)

client.execute {
  set personalizationRecommendationStrategy strategy
}
let personalizationClient = PersonalizationClient(appID: "YourApplicationID", apiKey: "YourAPIKey")

let eventsScoring: [EventScoring] = [
  .init(eventName: "Add to cart", eventType: .conversion, score: 50),
  .init(eventName: "Purchase", eventType: .conversion, score: 100)
]

let facetsScoring: [FacetScoring] = [
  .init(facetName: "brand", score: 100),
  .init(facetName: "categories", score: 10)
]

let strategy = PersonalizationStrategy(eventsScoring: eventsScoring,
                                       facetsScoring: facetsScoring,
                                       personalizationImpact: 0)

personalizationClient.setPersonalizationStrategy(strategy) { result in
  if case .success(let response) = result {
    print("Response: \(response)")
  }
}

Parameters

strategy
object
required
An object for configuring the Personalization strategy.
requestOptions
object
A mapping of request options to send along with the request.

Response

message
string
Response message.
status
integer
Response status code.

Response as JSON

This section shows the JSON response returned by the API. Each API client wraps this response in language-specific objects, so the structure may vary. To view the response, use the getLogs method. Don’t rely on the order of properties—JSON objects don’t preserve key order.
JSON
{
  "status": 200,
  "message": "Strategy was successfully updated"
}
Last modified on March 23, 2026