@@ -153,7 +153,7 @@ def create_conversion_event(event_key, user_id, attributes, event_tags, experime
153
153
154
154
event_params = get_common_params ( user_id , attributes )
155
155
conversion_params = get_conversion_params ( event_key , event_tags , experiment_variation_map )
156
- event_params [ :visitors ] [ 0 ] [ :snapshots ] = conversion_params
156
+ event_params [ :visitors ] [ 0 ] [ :snapshots ] = [ conversion_params ]
157
157
158
158
Event . new ( :post , ENDPOINT , event_params , POST_HEADERS )
159
159
end
@@ -195,43 +195,38 @@ def get_conversion_params(event_key, event_tags, experiment_variation_map)
195
195
# event_tags - +Hash+ Values associated with the event.
196
196
# experiment_variation_map - +Hash+ Map of experiment IDs to bucketed variation IDs
197
197
#
198
- # Returns +Hash+ Impression event params
199
-
200
- conversion_event_params = [ ]
198
+ # Returns +Hash+ Conversion event params
201
199
200
+ single_snapshot = { }
201
+ single_snapshot [ :decisions ] = [ ]
202
202
experiment_variation_map . each do |experiment_id , variation_id |
203
- single_snapshot = {
204
- decisions : [ {
205
- campaign_id : @config . experiment_id_map [ experiment_id ] [ 'layerId' ] ,
206
- experiment_id : experiment_id ,
207
- variation_id : variation_id
208
- } ] ,
209
- events : [ ]
210
- }
211
-
212
- event_object = {
213
- entity_id : @config . event_key_map [ event_key ] [ 'id' ] ,
214
- timestamp : create_timestamp ,
215
- uuid : create_uuid ,
216
- key : event_key
217
- }
218
-
219
- if event_tags
220
- revenue_value = Helpers ::EventTagUtils . get_revenue_value ( event_tags , @logger )
221
- event_object [ :revenue ] = revenue_value if revenue_value
203
+ next unless variation_id
204
+ single_snapshot [ :decisions ] . push (
205
+ campaign_id : @config . experiment_id_map [ experiment_id ] [ 'layerId' ] ,
206
+ experiment_id : experiment_id ,
207
+ variation_id : variation_id
208
+ )
209
+ end
222
210
223
- numeric_value = Helpers ::EventTagUtils . get_numeric_value ( event_tags , @logger )
224
- event_object [ :value ] = numeric_value if numeric_value
211
+ event_object = {
212
+ entity_id : @config . event_key_map [ event_key ] [ 'id' ] ,
213
+ timestamp : create_timestamp ,
214
+ uuid : create_uuid ,
215
+ key : event_key
216
+ }
225
217
226
- event_object [ :tags ] = event_tags
227
- end
218
+ if event_tags
219
+ revenue_value = Helpers ::EventTagUtils . get_revenue_value ( event_tags , @logger )
220
+ event_object [ :revenue ] = revenue_value if revenue_value
228
221
229
- single_snapshot [ :events ] = [ event_object ]
222
+ numeric_value = Helpers ::EventTagUtils . get_numeric_value ( event_tags , @logger )
223
+ event_object [ :value ] = numeric_value if numeric_value
230
224
231
- conversion_event_params . push ( single_snapshot )
225
+ event_object [ :tags ] = event_tags unless event_tags . empty?
232
226
end
233
227
234
- conversion_event_params
228
+ single_snapshot [ :events ] = [ event_object ]
229
+ single_snapshot
235
230
end
236
231
237
232
def create_timestamp
0 commit comments