diff --git a/core-api/src/main/java/com/optimizely/ab/bucketing/DecisionService.java b/core-api/src/main/java/com/optimizely/ab/bucketing/DecisionService.java index edbc01fad..c68ea4575 100644 --- a/core-api/src/main/java/com/optimizely/ab/bucketing/DecisionService.java +++ b/core-api/src/main/java/com/optimizely/ab/bucketing/DecisionService.java @@ -172,9 +172,10 @@ public DecisionResponse getVariation(@Nonnull Experiment experiment, String bucketingId = getBucketingId(user.getUserId(), user.getAttributes()); String cmabUuid = null; decisionVariation = bucketer.bucket(experiment, bucketingId, projectConfig, decisionPath); + reasons.merge(decisionVariation.getReasons()); if (decisionPath == DecisionPath.WITH_CMAB && isCmabExperiment(experiment) && decisionVariation.getResult() != null) { // group-allocation and traffic-allocation checking passed for cmab - // we need server decision overruling local bucketing for cmab + // we need server decision overruling local bucketing for cmab DecisionResponse cmabDecision = getDecisionForCmabExperiment(projectConfig, experiment, user, bucketingId, options); reasons.merge(cmabDecision.getReasons()); @@ -197,7 +198,6 @@ public DecisionResponse getVariation(@Nonnull Experiment experiment, } } else { // Standard bucketing for non-CMAB experiments - reasons.merge(decisionVariation.getReasons()); variation = decisionVariation.getResult(); }