diff --git a/optimizely/event/user_event_factory.py b/optimizely/event/user_event_factory.py
index <HASH>..<HASH> 100644
--- a/optimizely/event/user_event_factory.py
+++ b/optimizely/event/user_event_factory.py
@@ -1,4 +1,4 @@
-# Copyright 2019 Optimizely
+# Copyright 2019, 2021 Optimizely
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -45,12 +45,12 @@ class UserEventFactory(object):
         if not activated_experiment and rule_type is not enums.DecisionSources.ROLLOUT:
             return None
 
-        variation, experiment_key = None, None
+        variation, experiment_id = None, None
         if activated_experiment:
-            experiment_key = activated_experiment.key
+            experiment_id = activated_experiment.id
 
-        if variation_id and experiment_key:
-            variation = project_config.get_variation_from_id(experiment_key, variation_id)
+        if variation_id and experiment_id:
+            variation = project_config.get_variation_from_id_by_experiment_id(experiment_id, variation_id)
         event_context = user_event.EventContext(
             project_config.account_id, project_config.project_id, project_config.revision, project_config.anonymize_ip,
         )
Fix Impression Events - Variation lookup by id and Experiment id (#<I>)

* Fix in user_event_factory to use experiment_id to lookup variation for impression events.



* Update License Header to <I>.