Algolia stores variants, not products, and as such we do not have pinning at the product level. When pinning a record, the record can be selected using the objectID. Each variant should have its own independent ObjectID.
As an alternative, you could explore using optional filters to promote the results that match the relevant attributes. We have in depth details of how these filters work here.
You could also potentially use the Algolia dashboard to create Rules, and promote multiple variants to the same position. In this way, if one variant is unavailable then another will show instead.
To do this you would specify the same position for each variant:
Then as long as one of the variants in each position matches the filters it will show:
Last reviewed 21-04-22.