Use rules to promote (pin) specific search results or display a banner at the top of your search results.
To promote groups of results dynamically, see Smart Groups .
If typoTolerance
is min
or strict
,
promoted results might not appear if they contain more typos than the top results.
For example, a book store wants to recommend a Harry Potter box set whenever the words “Harry Potter” form part of a search.
Rule
If the query is Harry Potter
,
promote the Harry Potter box set.
By default, you can pin up to 300 items per rule.
With the API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var response = await client . SaveRuleAsync (
"ALGOLIA_INDEX_NAME" ,
"promote-harry-potter-box-set" ,
new Rule
{
ObjectID = "promote-harry-potter-box-set" ,
Conditions = new List < Condition >
{
new Condition { Pattern = "Harry Potter" , Anchoring = Enum . Parse < Anchoring >( "Contains" ) },
},
Consequence = new Consequence
{
Promote = new List < Promote >
{
new Promote ( new PromoteObjectID { ObjectID = "HP-12345" , Position = 0 }),
},
},
}
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
final response = await client . saveRule (
indexName: "ALGOLIA_INDEX_NAME" ,
objectID: "promote-harry-potter-box-set" ,
rule: Rule (
objectID: "promote-harry-potter-box-set" ,
conditions: [
Condition (
pattern: "Harry Potter" ,
anchoring: Anchoring . fromJson ( "contains" ),
),
],
consequence: Consequence (
promote: [
PromoteObjectID (
objectID: "HP-12345" ,
position: 0 ,
),
],
),
),
);
1
2
3
4
5
6
7
8
9
10
11
response , err := client . SaveRule ( client . NewApiSaveRuleRequest (
"ALGOLIA_INDEX_NAME" , "promote-harry-potter-box-set" ,
search . NewEmptyRule () . SetObjectID ( "promote-harry-potter-box-set" ) . SetConditions (
[] search . Condition { * search . NewEmptyCondition () . SetPattern ( "Harry Potter" ) . SetAnchoring ( search . Anchoring ( "contains" ))}) . SetConsequence (
search . NewEmptyConsequence () . SetPromote (
[] search . Promote { * search . PromoteObjectIDAsPromote (
search . NewEmptyPromoteObjectID () . SetObjectID ( "HP-12345" ) . SetPosition ( 0 ))}))))
if err != nil {
// handle the eventual error
panic ( err )
}
1
2
3
4
5
6
7
8
client . saveRule (
"ALGOLIA_INDEX_NAME" ,
"promote-harry-potter-box-set" ,
new Rule ()
. setObjectID ( "promote-harry-potter-box-set" )
. setConditions ( Arrays . asList ( new Condition (). setPattern ( "Harry Potter" ). setAnchoring ( Anchoring . CONTAINS )))
. setConsequence ( new Consequence (). setPromote ( Arrays . asList ( new PromoteObjectID (). setObjectID ( "HP-12345" ). setPosition ( 0 ))))
);
1
2
3
4
5
6
7
8
9
const response = await client . saveRule ({
indexName : ' indexName ' ,
objectID : ' promote-harry-potter-box-set ' ,
rule : {
objectID : ' promote-harry-potter-box-set ' ,
conditions : [{ pattern : ' Harry Potter ' , anchoring : ' contains ' }],
consequence : { promote : [{ objectID : ' HP-12345 ' , position : 0 }] },
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var response = client . saveRule (
indexName = "ALGOLIA_INDEX_NAME" ,
objectID = "promote-harry-potter-box-set" ,
rule = Rule (
objectID = "promote-harry-potter-box-set" ,
conditions = listOf (
Condition (
pattern = "Harry Potter" ,
anchoring = Anchoring . entries . first { it . value == "contains" },
),
),
consequence = Consequence (
promote = listOf (
PromoteObjectID (
objectID = "HP-12345" ,
position = 0 ,
),
),
),
),
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$response = $client -> saveRule (
'ALGOLIA_INDEX_NAME' ,
'promote-harry-potter-box-set' ,
[ 'objectID' => 'promote-harry-potter-box-set' ,
'conditions' => [
[ 'pattern' => 'Harry Potter' ,
'anchoring' => 'contains' ,
],
],
'consequence' => [ 'promote' => [
[ 'objectID' => 'HP-12345' ,
'position' => 0 ,
],
],
],
],
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
response = client . save_rule (
index_name = "ALGOLIA_INDEX_NAME" ,
object_id = "promote-harry-potter-box-set" ,
rule = {
"objectID" : "promote-harry-potter-box-set" ,
"conditions" : [
{
"pattern" : "Harry Potter" ,
"anchoring" : "contains" ,
},
],
"consequence" : {
"promote" : [
{
"objectID" : "HP-12345" ,
"position" : 0 ,
},
],
},
},
)
1
2
3
4
5
6
7
8
9
10
11
response = client . save_rule (
"ALGOLIA_INDEX_NAME" ,
"promote-harry-potter-box-set" ,
Algolia :: Search :: Rule . new (
algolia_object_id: "promote-harry-potter-box-set" ,
conditions: [ Algolia :: Search :: Condition . new ( pattern: "Harry Potter" , anchoring: "contains" )],
consequence: Algolia :: Search :: Consequence . new (
promote: [ Algolia :: Search :: PromoteObjectID . new ( algolia_object_id: "HP-12345" , position: 0 )]
)
)
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
val response = Await . result (
client . saveRule (
indexName = "ALGOLIA_INDEX_NAME" ,
objectID = "promote-harry-potter-box-set" ,
rule = Rule (
objectID = "promote-harry-potter-box-set" ,
conditions = Some (
Seq (
Condition (
pattern = Some ( "Harry Potter" ),
anchoring = Some ( Anchoring . withName ( "contains" ))
)
)
),
consequence = Consequence (
promote = Some (
Seq (
PromoteObjectID (
objectID = "HP-12345" ,
position = 0
)
)
)
)
)
),
Duration ( 100 , "sec" )
)
1
2
3
4
5
6
7
8
9
10
11
12
let response = try await client . saveRule (
indexName : "ALGOLIA_INDEX_NAME" ,
objectID : "promote-harry-potter-box-set" ,
rule : Rule (
objectID : "promote-harry-potter-box-set" ,
conditions : [ SearchCondition ( pattern : "Harry Potter" , anchoring : SearchAnchoring . contains )],
consequence : SearchConsequence ( promote : [ SearchPromote . searchPromoteObjectID ( SearchPromoteObjectID (
objectID : "HP-12345" ,
position : 0
))])
)
)
With the Visual Editor
Go to the Algolia dashboard and select your Algolia application.
On the left sidebar, select Algolia Search
Search .
Select your Algolia index:
Select Rules from the left sidebar.
Select Create your first Rule or New rule .
Click Visual Editor .
Under Conditions :
Click Set query condition(s) .
In Your search , type Harry Potter
and click Apply .
Under Consequences :
Click Pin items .
In Pinned items , find and select the item you want to promote (for example, HP-12345
) and click Apply .
Review and Publish your rule.
With the Manual Editor
Go to the Algolia dashboard and select your Algolia application.
On the left sidebar, select Algolia Search
Search .
Select your Algolia index:
Select Rules from the left sidebar.
Select Create your first Rule or New rule .
Click Manual Editor .
In the Condition(s) section, enter Harry Potter
in the Query field.
In the Consequence(s) section:
Click Add consequence and select Pin an item .
Find and select the item you want to promote. For example, HP-12345
.
Save your rule.
For example, you’ve placed “best-selling items” at the top of your search results by using custom ranking .
But the newest release?
Set up a rule that promotes the newest iPhone for searches containing iPhone
,
while keeping other phones sorted by most-sold.
Rule
If query is iphone
,
promote the newest iPhone release.
With the API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var response = await client . SaveRuleAsync (
"ALGOLIA_INDEX_NAME" ,
"Promote-iPhone-X" ,
new Rule
{
ObjectID = "Promote-iPhone-X" ,
Conditions = new List < Condition >
{
new Condition { Pattern = "iPhone" , Anchoring = Enum . Parse < Anchoring >( "Contains" ) },
},
Consequence = new Consequence
{
Promote = new List < Promote >
{
new Promote ( new PromoteObjectID { ObjectID = "iPhone-12345" , Position = 0 }),
},
},
}
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
final response = await client . saveRule (
indexName: "ALGOLIA_INDEX_NAME" ,
objectID: "Promote-iPhone-X" ,
rule: Rule (
objectID: "Promote-iPhone-X" ,
conditions: [
Condition (
pattern: "iPhone" ,
anchoring: Anchoring . fromJson ( "contains" ),
),
],
consequence: Consequence (
promote: [
PromoteObjectID (
objectID: "iPhone-12345" ,
position: 0 ,
),
],
),
),
);
1
2
3
4
5
6
7
8
9
10
11
response , err := client . SaveRule ( client . NewApiSaveRuleRequest (
"ALGOLIA_INDEX_NAME" , "Promote-iPhone-X" ,
search . NewEmptyRule () . SetObjectID ( "Promote-iPhone-X" ) . SetConditions (
[] search . Condition { * search . NewEmptyCondition () . SetPattern ( "iPhone" ) . SetAnchoring ( search . Anchoring ( "contains" ))}) . SetConsequence (
search . NewEmptyConsequence () . SetPromote (
[] search . Promote { * search . PromoteObjectIDAsPromote (
search . NewEmptyPromoteObjectID () . SetObjectID ( "iPhone-12345" ) . SetPosition ( 0 ))}))))
if err != nil {
// handle the eventual error
panic ( err )
}
1
2
3
4
5
6
7
8
client . saveRule (
"ALGOLIA_INDEX_NAME" ,
"Promote-iPhone-X" ,
new Rule ()
. setObjectID ( "Promote-iPhone-X" )
. setConditions ( Arrays . asList ( new Condition (). setPattern ( "iPhone" ). setAnchoring ( Anchoring . CONTAINS )))
. setConsequence ( new Consequence (). setPromote ( Arrays . asList ( new PromoteObjectID (). setObjectID ( "iPhone-12345" ). setPosition ( 0 ))))
);
1
2
3
4
5
6
7
8
9
const response = await client . saveRule ({
indexName : ' indexName ' ,
objectID : ' Promote-iPhone-X ' ,
rule : {
objectID : ' Promote-iPhone-X ' ,
conditions : [{ pattern : ' iPhone ' , anchoring : ' contains ' }],
consequence : { promote : [{ objectID : ' iPhone-12345 ' , position : 0 }] },
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var response = client . saveRule (
indexName = "ALGOLIA_INDEX_NAME" ,
objectID = "Promote-iPhone-X" ,
rule = Rule (
objectID = "Promote-iPhone-X" ,
conditions = listOf (
Condition (
pattern = "iPhone" ,
anchoring = Anchoring . entries . first { it . value == "contains" },
),
),
consequence = Consequence (
promote = listOf (
PromoteObjectID (
objectID = "iPhone-12345" ,
position = 0 ,
),
),
),
),
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$response = $client -> saveRule (
'ALGOLIA_INDEX_NAME' ,
'Promote-iPhone-X' ,
[ 'objectID' => 'Promote-iPhone-X' ,
'conditions' => [
[ 'pattern' => 'iPhone' ,
'anchoring' => 'contains' ,
],
],
'consequence' => [ 'promote' => [
[ 'objectID' => 'iPhone-12345' ,
'position' => 0 ,
],
],
],
],
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
response = client . save_rule (
index_name = "ALGOLIA_INDEX_NAME" ,
object_id = "Promote-iPhone-X" ,
rule = {
"objectID" : "Promote-iPhone-X" ,
"conditions" : [
{
"pattern" : "iPhone" ,
"anchoring" : "contains" ,
},
],
"consequence" : {
"promote" : [
{
"objectID" : "iPhone-12345" ,
"position" : 0 ,
},
],
},
},
)
1
2
3
4
5
6
7
8
9
10
11
response = client . save_rule (
"ALGOLIA_INDEX_NAME" ,
"Promote-iPhone-X" ,
Algolia :: Search :: Rule . new (
algolia_object_id: "Promote-iPhone-X" ,
conditions: [ Algolia :: Search :: Condition . new ( pattern: "iPhone" , anchoring: "contains" )],
consequence: Algolia :: Search :: Consequence . new (
promote: [ Algolia :: Search :: PromoteObjectID . new ( algolia_object_id: "iPhone-12345" , position: 0 )]
)
)
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
val response = Await . result (
client . saveRule (
indexName = "ALGOLIA_INDEX_NAME" ,
objectID = "Promote-iPhone-X" ,
rule = Rule (
objectID = "Promote-iPhone-X" ,
conditions = Some (
Seq (
Condition (
pattern = Some ( "iPhone" ),
anchoring = Some ( Anchoring . withName ( "contains" ))
)
)
),
consequence = Consequence (
promote = Some (
Seq (
PromoteObjectID (
objectID = "iPhone-12345" ,
position = 0
)
)
)
)
)
),
Duration ( 100 , "sec" )
)
1
2
3
4
5
6
7
8
9
10
11
12
let response = try await client . saveRule (
indexName : "ALGOLIA_INDEX_NAME" ,
objectID : "Promote-iPhone-X" ,
rule : Rule (
objectID : "Promote-iPhone-X" ,
conditions : [ SearchCondition ( pattern : "iPhone" , anchoring : SearchAnchoring . contains )],
consequence : SearchConsequence ( promote : [ SearchPromote . searchPromoteObjectID ( SearchPromoteObjectID (
objectID : "iPhone-12345" ,
position : 0
))])
)
)
With the Visual Editor
Go to the Algolia dashboard and select your Algolia application.
On the left sidebar, select Algolia Search
Search .
Select your Algolia index:
Select Rules from the left sidebar.
Select Create your first Rule or New rule .
Click Visual Editor .
Under Conditions :
Click Set query condition(s) .
In Your search , type iPhone
and click Apply .
Under Consequences :
Click Pin item .
In Pinned items , find and select the item you want to promote (for example, iPhone-12345
) and then click Apply .
Review and Publish your rule.
With the Manual Editor
Go to the Algolia dashboard and select your Algolia application.
On the left sidebar, select Algolia Search
Search .
Select your Algolia index:
Select Rules from the left sidebar.
Select Create your first Rule or New rule .
Click Manual Editor .
In the Condition(s) section, enter iPhone
in the Query field and change the drop-down from Is to Contains .
In the Consequence(s) section:
Click Add consequence and select Pin an item .
Find and select the item you want to promote (for example, iPhone-12345
).
Save your rule.
For example, you’re running a promotion on the newest Apple products.
Set up a rule that promotes the newest Apple releases at the top of results for searches containing apple
.
Rule
If query is apple
,
promote the newest Apple releases.
With the API
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var response = await client . SaveRuleAsync (
"ALGOLIA_INDEX_NAME" ,
"Promote-Apple-Newest" ,
new Rule
{
ObjectID = "Promote-Apple-Newest" ,
Conditions = new List < Condition >
{
new Condition { Pattern = "apple" , Anchoring = Enum . Parse < Anchoring >( "Is" ) },
},
Consequence = new Consequence
{
Promote = new List < Promote >
{
new Promote (
new PromoteObjectIDs
{
ObjectIDs = new List < string > { "iPhone-12345" , "watch-123" },
Position = 0 ,
}
),
},
},
}
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
final response = await client . saveRule (
indexName: "ALGOLIA_INDEX_NAME" ,
objectID: "Promote-Apple-Newest" ,
rule: Rule (
objectID: "Promote-Apple-Newest" ,
conditions: [
Condition (
pattern: "apple" ,
anchoring: Anchoring . fromJson ( "is" ),
),
],
consequence: Consequence (
promote: [
PromoteObjectIDs (
objectIDs: [
"iPhone-12345" ,
"watch-123" ,
],
position: 0 ,
),
],
),
),
);
1
2
3
4
5
6
7
8
9
10
11
12
response , err := client . SaveRule ( client . NewApiSaveRuleRequest (
"ALGOLIA_INDEX_NAME" , "Promote-Apple-Newest" ,
search . NewEmptyRule () . SetObjectID ( "Promote-Apple-Newest" ) . SetConditions (
[] search . Condition { * search . NewEmptyCondition () . SetPattern ( "apple" ) . SetAnchoring ( search . Anchoring ( "is" ))}) . SetConsequence (
search . NewEmptyConsequence () . SetPromote (
[] search . Promote { * search . PromoteObjectIDsAsPromote (
search . NewEmptyPromoteObjectIDs () . SetObjectIDs (
[] string { "iPhone-12345" , "watch-123" }) . SetPosition ( 0 ))}))))
if err != nil {
// handle the eventual error
panic ( err )
}
1
2
3
4
5
6
7
8
9
10
11
12
client . saveRule (
"ALGOLIA_INDEX_NAME" ,
"Promote-Apple-Newest" ,
new Rule ()
. setObjectID ( "Promote-Apple-Newest" )
. setConditions ( Arrays . asList ( new Condition (). setPattern ( "apple" ). setAnchoring ( Anchoring . IS )))
. setConsequence (
new Consequence (). setPromote (
Arrays . asList ( new PromoteObjectIDs (). setObjectIDs ( Arrays . asList ( "iPhone-12345" , "watch-123" )). setPosition ( 0 ))
)
)
);
1
2
3
4
5
6
7
8
9
const response = await client . saveRule ({
indexName : ' indexName ' ,
objectID : ' Promote-Apple-Newest ' ,
rule : {
objectID : ' Promote-Apple-Newest ' ,
conditions : [{ pattern : ' apple ' , anchoring : ' is ' }],
consequence : { promote : [{ objectIDs : [ ' iPhone-12345 ' , ' watch-123 ' ], position : 0 }] },
},
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var response = client . saveRule (
indexName = "ALGOLIA_INDEX_NAME" ,
objectID = "Promote-Apple-Newest" ,
rule = Rule (
objectID = "Promote-Apple-Newest" ,
conditions = listOf (
Condition (
pattern = "apple" ,
anchoring = Anchoring . entries . first { it . value == "is" },
),
),
consequence = Consequence (
promote = listOf (
PromoteObjectIDs (
objectIDs = listOf ( "iPhone-12345" , "watch-123" ),
position = 0 ,
),
),
),
),
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$response = $client -> saveRule (
'ALGOLIA_INDEX_NAME' ,
'Promote-Apple-Newest' ,
[ 'objectID' => 'Promote-Apple-Newest' ,
'conditions' => [
[ 'pattern' => 'apple' ,
'anchoring' => 'is' ,
],
],
'consequence' => [ 'promote' => [
[ 'objectIDs' => [
'iPhone-12345' ,
'watch-123' ,
],
'position' => 0 ,
],
],
],
],
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
response = client . save_rule (
index_name = "ALGOLIA_INDEX_NAME" ,
object_id = "Promote-Apple-Newest" ,
rule = {
"objectID" : "Promote-Apple-Newest" ,
"conditions" : [
{
"pattern" : "apple" ,
"anchoring" : "is" ,
},
],
"consequence" : {
"promote" : [
{
"objectIDs" : [
"iPhone-12345" ,
"watch-123" ,
],
"position" : 0 ,
},
],
},
},
)
1
2
3
4
5
6
7
8
9
10
11
response = client . save_rule (
"ALGOLIA_INDEX_NAME" ,
"Promote-Apple-Newest" ,
Algolia :: Search :: Rule . new (
algolia_object_id: "Promote-Apple-Newest" ,
conditions: [ Algolia :: Search :: Condition . new ( pattern: "apple" , anchoring: "is" )],
consequence: Algolia :: Search :: Consequence . new (
promote: [ Algolia :: Search :: PromoteObjectIDs . new ( object_ids: [ "iPhone-12345" , "watch-123" ], position: 0 )]
)
)
)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
val response = Await . result (
client . saveRule (
indexName = "ALGOLIA_INDEX_NAME" ,
objectID = "Promote-Apple-Newest" ,
rule = Rule (
objectID = "Promote-Apple-Newest" ,
conditions = Some (
Seq (
Condition (
pattern = Some ( "apple" ),
anchoring = Some ( Anchoring . withName ( "is" ))
)
)
),
consequence = Consequence (
promote = Some (
Seq (
PromoteObjectIDs (
objectIDs = Seq ( "iPhone-12345" , "watch-123" ),
position = 0
)
)
)
)
)
),
Duration ( 100 , "sec" )
)
1
2
3
4
5
6
7
8
9
10
11
12
let response = try await client . saveRule (
indexName : "ALGOLIA_INDEX_NAME" ,
objectID : "Promote-Apple-Newest" ,
rule : Rule (
objectID : "Promote-Apple-Newest" ,
conditions : [ SearchCondition ( pattern : "apple" , anchoring : SearchAnchoring . ` is `)],
consequence : SearchConsequence ( promote : [ SearchPromote . searchPromoteObjectIDs ( SearchPromoteObjectIDs (
objectIDs : [ "iPhone-12345" , "watch-123" ],
position : 0
))])
)
)
With the Visual Editor
Go to the Algolia dashboard and select your Algolia application.
On the left sidebar, select Algolia Search
Search .
Select your Algolia index:
Select Rules from the left sidebar.
Select Create your first Rule or New rule .
Click Visual Editor .
Under Conditions :
Click Set query condition(s) .
In Your search , type apple
and click Apply .
Under Consequences :
Click Pin items .
Click Pin multiple items .
One per line, enter the object IDs of the items you want to pin, for example, iPhone-12345
and watch-123
, in the input field and then click Pin items .
Click Apply .
Review and Publish your rule.
You can’t promote more than one item with the Manual Editor.
For example, you only want to promote items if they match the user’s active filters,
such as stock availability, color, or category.
This prevents irrelevant items such as out-of-stock products from appearing.
Rule
Create a rule with a consequence that pins the item only if it matches active filters.
With the API
Set filterPromotes
to true
in the rule consequence.
The following example pins an item at position 0 and ensures it only appears if it matches active filters.
1
2
3
4
5
6
7
8
9
10
11
12
{
"objectID" : "pin-with-filters" ,
"conditions" : [
{ "anchoring" : "is" , "pattern" : "{facet:brand}" }
],
"consequence" : {
"filterPromotes" : true ,
"promote" : [
{ "objectID" : "SKU-123" , "position" : 0 }
]
}
}
For code samples in all supported languages,
see the filterPromotes
API reference.
With the Visual Editor
Go to the Algolia dashboard and select your Algolia application.
On the left sidebar, select Algolia Search
Search .
Select your Algolia index:
Select Rules from the left sidebar.
Select Create your first Rule or New rule .
Click Visual Editor .
Under Conditions :
Click Set query condition(s) .
In Your search , enter the item you want to promote (for example, shoes
) and click Apply .
Under Consequences :
Click Pin items .
In Pinned items , find and select the item you want to promote.
Keep the checkbox Pinned items must match active filters to be displayed selected and click Apply .
Review and Publish your rule.
With the Manual Editor
Select the Search icon on your dashboard and then select your index.
Select the Rules section from the left sidebar menu in the Algolia dashboard .
Select Create your first Rule or New rule .
Click Manual Editor .
In the Condition(s) section, enter the query (for example, shoes
) in the Query field.
In the Consequence(s) section:
Click Add consequence and select Pin an item .
Find and select the item you want to promote (for example, brogue-12345
).
In the Additional settings section, keep the checkbox Pinned items must match active filters to be displayed selected.
Save your rule.