diff --git a/commerce_affiliate.rules.inc b/commerce_affiliate.rules.inc
index 62f31ad..00f42f6 100644
--- a/commerce_affiliate.rules.inc
+++ b/commerce_affiliate.rules.inc
@@ -22,6 +22,12 @@ function commerce_affiliate_rules_action_info() {
         'label' => t('Commission type'),
         'options list' => 'commerce_affiliate_commission_types_options_list'
       ),
+      'affiliate' => array(
+        'type' => 'user',
+        'label' => t('Affiliate'),
+        'description' => 'User account for the affiliate that should receive this commission. Leave this empty if you would like the affiliate to be determined by the cookie.',
+        'optional' => TRUE,
+      ),
       'amount' => array(
         'type' => 'decimal',
         'label' => t('Amount'),
@@ -37,7 +43,7 @@ function commerce_affiliate_rules_action_info() {
   return $actions;
 }
 
-function commerce_affiliate_add_commission($entity, $commission_type, $amount) {
+function commerce_affiliate_add_commission($entity, $commission_type, $affiliate, $amount) {
   if (is_numeric($amount)) {
     $commission_info = commerce_affiliate_commission_type_load($commission_type);
 
@@ -46,6 +52,9 @@ function commerce_affiliate_add_commission($entity, $commission_type, $amount) {
     if ($entity->type() == 'affiliate_click') {
       $account = user_load($entity->value()->affiliate_uid);
     }
+    elseif (isset($affiliate)) {
+      $account = $affiliate;
+    }
     else {
       $account = user_load((int)$_COOKIE['affiliate_ng']['affiliate_uid']);
     }
