optimizely/android-sdk

Wrong conversion rates while tracking feature flags

vlylozian opened this issue · 2 comments

Optimizely version: 3.13.2

We are getting wrong metrics when tracking feature flags during the startup of our app.

We expect that by calling getEnabledFeatures this would return the list of feature flags without activating any features or feature experiments, which is consistent with getVariation and activateVariation.

We also see that there is a TODO in the code from your side:
TODO revisit this method. Calling this as-is can dramatically increase visitor impression counts.

Any estimates on when this might be resolved? Thank you!

@vlylozianSixt As documented, getEnabledFeatures will fire impression events (unlike getVariation).
We introduced a new API (v3.9.0+) with which you can get the same result without impression events dispatched.
It works like this -

OptimizelyUserContext userContext = optimizelyClient.createUserContext(userId, attributes);
List<OptimizelyDecideOption> options = Arrays.asList(OptimizelyDecideOption.ENABLED_FLAGS_ONLY,
                                                                              OptimizelyDecideOption.DISABLE_DECISION_EVENT);
Map<String, OptimizelyDecision> decisions = user.decideAll(options);

See this doc page for more details - https://docs.developers.optimizely.com/full-stack/v4.0/docs/decide-methods-android
Let us know if it works for you.

Thank you for the info, we will be implement the new API on our side then.