@@ -122,25 +122,27 @@ def get_timestamp(tstamp: Optional[float] = None) -> int:
122122 Tracking methods
123123 """
124124
125- def track (self , pb : payload .Payload ) -> "Tracker" :
125+ def track (self , pb : payload .Payload ) -> Optional [ str ] :
126126 """
127- Send the payload to a emitter
127+ Send the payload to a emitter. Returns the tracked event ID.
128128
129129 :param pb: Payload builder
130130 :type pb: payload
131- :rtype: tracker
131+ :rtype: String
132132 """
133133 for emitter in self .emitters :
134134 emitter .input (pb .nv_pairs )
135- return self
135+
136+ if "eid" in pb .nv_pairs .keys ():
137+ return pb .nv_pairs ["eid" ]
136138
137139 def complete_payload (
138140 self ,
139141 pb : payload .Payload ,
140142 context : Optional [List [SelfDescribingJson ]],
141143 tstamp : Optional [float ],
142144 event_subject : Optional [_subject .Subject ],
143- ) -> "Tracker" :
145+ ) -> Optional [ str ] :
144146 """
145147 Called by all tracking events to add the standard name-value pairs
146148 to the Payload object irrespective of the tracked event.
@@ -153,7 +155,7 @@ def complete_payload(
153155 :type tstamp: int | float | None
154156 :param event_subject: Optional per event subject
155157 :type event_subject: subject | None
156- :rtype: tracker
158+ :rtype: String
157159 """
158160 pb .add ("eid" , Tracker .get_uuid ())
159161
@@ -199,7 +201,7 @@ def track_page_view(
199201 :type tstamp: int | float | None
200202 :param event_subject: Optional per event subject
201203 :type event_subject: subject | None
202- :rtype: tracker
204+ :rtype: Tracker
203205 """
204206 non_empty_string (page_url )
205207
@@ -209,7 +211,8 @@ def track_page_view(
209211 pb .add ("page" , page_title )
210212 pb .add ("refr" , referrer )
211213
212- return self .complete_payload (pb , context , tstamp , event_subject )
214+ self .complete_payload (pb , context , tstamp , event_subject )
215+ return self
213216
214217 def track_page_ping (
215218 self ,
@@ -245,7 +248,7 @@ def track_page_ping(
245248 :type tstamp: int | float | None
246249 :param event_subject: Optional per event subject
247250 :type event_subject: subject | None
248- :rtype: tracker
251+ :rtype: Tracker
249252 """
250253 non_empty_string (page_url )
251254
@@ -259,7 +262,8 @@ def track_page_ping(
259262 pb .add ("pp_miy" , min_y )
260263 pb .add ("pp_may" , max_y )
261264
262- return self .complete_payload (pb , context , tstamp , event_subject )
265+ self .complete_payload (pb , context , tstamp , event_subject )
266+ return self
263267
264268 def track_link_click (
265269 self ,
@@ -289,7 +293,7 @@ def track_link_click(
289293 :type tstamp: int | float | None
290294 :param event_subject: Optional per event subject
291295 :type event_subject: subject | None
292- :rtype: tracker
296+ :rtype: Tracker
293297 """
294298 non_empty_string (target_url )
295299
@@ -308,9 +312,8 @@ def track_link_click(
308312 "%s/link_click/%s/1-0-1" % (BASE_SCHEMA_PATH , SCHEMA_TAG ), properties
309313 )
310314
311- return self .track_self_describing_event (
312- event_json , context , tstamp , event_subject
313- )
315+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
316+ return self
314317
315318 def track_add_to_cart (
316319 self ,
@@ -343,7 +346,7 @@ def track_add_to_cart(
343346 :type tstamp: int | float | None
344347 :param event_subject: Optional per event subject
345348 :type event_subject: subject | None
346- :rtype: tracker
349+ :rtype: Tracker
347350 """
348351 warn (
349352 "track_add_to_cart will be deprecated in future versions." ,
@@ -368,9 +371,8 @@ def track_add_to_cart(
368371 "%s/add_to_cart/%s/1-0-0" % (BASE_SCHEMA_PATH , SCHEMA_TAG ), properties
369372 )
370373
371- return self .track_self_describing_event (
372- event_json , context , tstamp , event_subject
373- )
374+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
375+ return self
374376
375377 def track_remove_from_cart (
376378 self ,
@@ -403,7 +405,7 @@ def track_remove_from_cart(
403405 :type tstamp: int | float | None
404406 :param event_subject: Optional per event subject
405407 :type event_subject: subject | None
406- :rtype: tracker
408+ :rtype: Tracker
407409 """
408410 warn (
409411 "track_remove_from_cart will be deprecated in future versions." ,
@@ -428,9 +430,8 @@ def track_remove_from_cart(
428430 "%s/remove_from_cart/%s/1-0-0" % (BASE_SCHEMA_PATH , SCHEMA_TAG ), properties
429431 )
430432
431- return self .track_self_describing_event (
432- event_json , context , tstamp , event_subject
433- )
433+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
434+ return self
434435
435436 def track_form_change (
436437 self ,
@@ -463,7 +464,7 @@ def track_form_change(
463464 :type tstamp: int | float | None
464465 :param event_subject: Optional per event subject
465466 :type event_subject: subject | None
466- :rtype: tracker
467+ :rtype: Tracker
467468 """
468469 non_empty_string (form_id )
469470 one_of (node_name , FORM_NODE_NAMES )
@@ -484,9 +485,8 @@ def track_form_change(
484485 "%s/change_form/%s/1-0-0" % (BASE_SCHEMA_PATH , SCHEMA_TAG ), properties
485486 )
486487
487- return self .track_self_describing_event (
488- event_json , context , tstamp , event_subject
489- )
488+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
489+ return self
490490
491491 def track_form_submit (
492492 self ,
@@ -510,7 +510,7 @@ def track_form_submit(
510510 :type tstamp: int | float | None
511511 :param event_subject: Optional per event subject
512512 :type event_subject: subject | None
513- :rtype: tracker
513+ :rtype: Tracker
514514 """
515515 non_empty_string (form_id )
516516 for element in elements or []:
@@ -527,9 +527,8 @@ def track_form_submit(
527527 "%s/submit_form/%s/1-0-0" % (BASE_SCHEMA_PATH , SCHEMA_TAG ), properties
528528 )
529529
530- return self .track_self_describing_event (
531- event_json , context , tstamp , event_subject
532- )
530+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
531+ return self
533532
534533 def track_site_search (
535534 self ,
@@ -556,7 +555,7 @@ def track_site_search(
556555 :type tstamp: int | float | None
557556 :param event_subject: Optional per event subject
558557 :type event_subject: subject | None
559- :rtype: tracker
558+ :rtype: Tracker
560559 """
561560 non_empty (terms )
562561
@@ -573,9 +572,8 @@ def track_site_search(
573572 "%s/site_search/%s/1-0-0" % (BASE_SCHEMA_PATH , SCHEMA_TAG ), properties
574573 )
575574
576- return self .track_self_describing_event (
577- event_json , context , tstamp , event_subject
578- )
575+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
576+ return self
579577
580578 def track_ecommerce_transaction_item (
581579 self ,
@@ -614,7 +612,7 @@ def track_ecommerce_transaction_item(
614612 :type tstamp: int | float | None
615613 :param event_subject: Optional per event subject
616614 :type event_subject: subject | None
617- :rtype: tracker
615+ :rtype: Tracker
618616 """
619617 warn (
620618 "track_ecommerce_transaction_item will be deprecated in future versions." ,
@@ -634,7 +632,8 @@ def track_ecommerce_transaction_item(
634632 pb .add ("ti_qu" , quantity )
635633 pb .add ("ti_cu" , currency )
636634
637- return self .complete_payload (pb , context , tstamp , event_subject )
635+ self .complete_payload (pb , context , tstamp , event_subject )
636+ return self
638637
639638 def track_ecommerce_transaction (
640639 self ,
@@ -679,7 +678,7 @@ def track_ecommerce_transaction(
679678 :type tstamp: int | float | None
680679 :param event_subject: Optional per event subject
681680 :type event_subject: subject | None
682- :rtype: tracker
681+ :rtype: Tracker
683682 """
684683 warn (
685684 "track_ecommerce_transaction will be deprecated in future versions." ,
@@ -734,7 +733,7 @@ def track_screen_view(
734733 :type tstamp: int | float | None
735734 :param event_subject: Optional per event subject
736735 :type event_subject: subject | None
737- :rtype: tracker
736+ :rtype: Tracker
738737 """
739738 warn (
740739 "track_screen_view will be deprecated in future versions. Please use track_mobile_screen_view." ,
@@ -752,9 +751,8 @@ def track_screen_view(
752751 screen_view_properties ,
753752 )
754753
755- return self .track_self_describing_event (
756- event_json , context , tstamp , event_subject
757- )
754+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
755+ return self
758756
759757 def track_mobile_screen_view (
760758 self ,
@@ -790,7 +788,7 @@ def track_mobile_screen_view(
790788 :type tstamp: int | float | None
791789 :param event_subject: Optional per event subject
792790 :type event_subject: subject | None
793- :rtype: tracker
791+ :rtype: Tracker
794792 """
795793 screen_view_properties = {}
796794
@@ -816,9 +814,8 @@ def track_mobile_screen_view(
816814 "%s/screen_view/%s/1-0-0" % (MOBILE_SCHEMA_PATH , SCHEMA_TAG ),
817815 screen_view_properties ,
818816 )
819- return self .track_self_describing_event (
820- event_json , context , tstamp , event_subject
821- )
817+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
818+ return self
822819
823820 def track_struct_event (
824821 self ,
@@ -850,7 +847,7 @@ def track_struct_event(
850847 :type tstamp: int | float | None
851848 :param event_subject: Optional per event subject
852849 :type event_subject: subject | None
853- :rtype: tracker
850+ :rtype: Tracker
854851 """
855852 non_empty_string (category )
856853 non_empty_string (action )
@@ -863,7 +860,8 @@ def track_struct_event(
863860 pb .add ("se_pr" , property_ )
864861 pb .add ("se_va" , value )
865862
866- return self .complete_payload (pb , context , tstamp , event_subject )
863+ self .complete_payload (pb , context , tstamp , event_subject )
864+ return self
867865
868866 def track_self_describing_event (
869867 self ,
@@ -883,7 +881,7 @@ def track_self_describing_event(
883881 :type tstamp: int | float | None
884882 :param event_subject: Optional per event subject
885883 :type event_subject: subject | None
886- :rtype: tracker
884+ :rtype: Tracker
887885 """
888886
889887 envelope = SelfDescribingJson (
@@ -895,7 +893,8 @@ def track_self_describing_event(
895893 pb .add ("e" , "ue" )
896894 pb .add_json (envelope , self .encode_base64 , "ue_px" , "ue_pr" , self .json_encoder )
897895
898- return self .complete_payload (pb , context , tstamp , event_subject )
896+ self .complete_payload (pb , context , tstamp , event_subject )
897+ return self
899898
900899 # Alias
901900 def track_unstruct_event (
@@ -916,16 +915,15 @@ def track_unstruct_event(
916915 :type tstamp: int | float | None
917916 :param event_subject: Optional per event subject
918917 :type event_subject: subject | None
919- :rtype: tracker
918+ :rtype: Tracker
920919 """
921920 warn (
922921 "track_unstruct_event will be deprecated in future versions. Please use track_self_describing_event." ,
923922 DeprecationWarning ,
924923 stacklevel = 2 ,
925924 )
926- return self .track_self_describing_event (
927- event_json , context , tstamp , event_subject
928- )
925+ self .track_self_describing_event (event_json , context , tstamp , event_subject )
926+ return self
929927
930928 def flush (self , is_async : bool = False ) -> "Tracker" :
931929 """
0 commit comments