Learning similarities between customers and offers representation
The idea is that I should be able to locate the best offer for any customer given these representations.


I think you need a Recommender System. As you want to map the offers to customers based one their representation you can check Content-Based Recommender System.

The method is by taking pattern from a customer history and try to find similarities with the new offers. You can use many techniques for a recommender system, from a simple TF-IDF or Deep Learning for more complex problems.