Meeting Title: Help with Katalys Date: 2025-10-16 Meeting participants: Zoran Selinger, Henry Zhao


WEBVTT

1 00:04:37.970 00:04:39.260 Zoran Selinger: Hi, Hannity?

2 00:04:41.760 00:04:43.080 Henry Zhao: Hey, Zaron, how are you doing?

3 00:04:43.680 00:04:45.900 Zoran Selinger: Yeah, good, good.

4 00:04:46.610 00:04:47.570 Zoran Selinger: How are you?

5 00:04:49.860 00:04:50.889 Henry Zhao: Good, thank you.

6 00:04:52.190 00:04:53.150 Henry Zhao: Yeah, so…

7 00:04:53.150 00:04:57.459 Zoran Selinger: stuff, I was reading, reading up about it. I mean, that makes sense.

8 00:04:58.550 00:05:03.219 Henry Zhao: Yeah, I just wanted your help, because I’m not good at learning how to code things,

9 00:05:03.990 00:05:06.030 Henry Zhao: See if you can maybe figure it out.

10 00:05:07.560 00:05:12.929 Zoran Selinger: Okay, are we decided on the… on the segment?

11 00:05:13.950 00:05:19.609 Henry Zhao: Either segment, or if you know of another tool that can run something like this.

12 00:05:20.010 00:05:30.020 Zoran Selinger: I mean, to us, it’s important that we… we… the trigger is… is important, and obviously.

13 00:05:30.020 00:05:30.670 Henry Zhao: Okay.

14 00:05:30.670 00:05:38.720 Zoran Selinger: So we can, you know, fire a request at an appropriate time.

15 00:05:39.310 00:05:39.980 Henry Zhao: Wouldn’t that?

16 00:05:41.100 00:05:43.810 Henry Zhao: So, yeah, that’s what I’m trying to do.

17 00:05:50.610 00:05:53.939 Henry Zhao: So the, the trigger’s okay, so it’s sources…

18 00:05:54.380 00:05:56.619 Henry Zhao: As you know, it’s this order updated.

19 00:05:59.240 00:06:02.099 Henry Zhao: And we have event name order updated.

20 00:06:03.130 00:06:06.010 Henry Zhao: Where… we are sending…

21 00:06:06.910 00:06:18.070 Henry Zhao: all of these different events, right? So, we just need body data event code to either be sent to questionnaire, questionnaire completed, or sent to pharmacy, okay?

22 00:06:18.170 00:06:24.049 Henry Zhao: So we’re sending it, so I was thinking we’re gonna use maybe a function and segment to send it.

23 00:06:24.920 00:06:33.789 Zoran Selinger: Sure. Is, so those two statuses that you’re looking for, are there either or, or…

24 00:06:33.790 00:06:34.610 Henry Zhao: Or, yeah.

25 00:06:35.010 00:06:36.220 Zoran Selinger: Sorry?

26 00:06:36.460 00:06:37.290 Henry Zhao: Either or, yeah.

27 00:06:37.290 00:06:39.039 Zoran Selinger: Okay, cool, cool.

28 00:06:39.040 00:06:42.360 Henry Zhao: So I’ve tried using, like, ChatGPT to figure out how I would send it.

29 00:06:42.690 00:06:49.079 Henry Zhao: So… I have a catalyst SegmentDestination function, which just follows what they said here,

30 00:06:53.220 00:06:56.909 Henry Zhao: Yeah. Order status reporting, right? So I just copy and pasted this TypeScript.

31 00:06:56.910 00:06:57.690 Zoran Selinger: Sure.

32 00:06:57.690 00:07:00.010 Henry Zhao: I don’t know PHP at all, so I thought.

33 00:07:00.010 00:07:01.620 Zoran Selinger: No, me neither.

34 00:07:02.180 00:07:06.949 Henry Zhao: Yeah, so I just like TypeScript. I don’t know TypeScript either, but it’s kind of like JavaScript, right? Not JavaScript.

35 00:07:06.950 00:07:08.650 Zoran Selinger: Yes, yes.

36 00:07:08.650 00:07:09.220 Henry Zhao: Whatever.

37 00:07:09.220 00:07:12.700 Zoran Selinger: Not a big fan, but it’s fine.

38 00:07:13.300 00:07:18.660 Henry Zhao: I replaced the Catalyst site ID, so I think that’s the site ID, because I go to Integrations here…

39 00:07:18.890 00:07:20.789 Henry Zhao: This is the tracking ID, right?

40 00:07:21.400 00:07:22.970 Zoran Selinger: Yeah?

41 00:07:23.250 00:07:26.680 Henry Zhao: I didn’t expect like we did yesterday, and I also found that wasn’t what his was.

42 00:07:26.890 00:07:37.589 Henry Zhao: So then I did all the async function, order ID string, although I don’t know if this order ID should be order underscore ID, or if this should be underscore ID, because ours is order underscore ID.

43 00:07:38.620 00:07:42.510 Henry Zhao: As you know, so if I go to BigQuery…

44 00:07:43.270 00:07:46.959 Henry Zhao: And luckily, all of our order IDs are underscore… order underscore ID, so I don’t.

45 00:07:46.960 00:07:52.080 Zoran Selinger: I don’t know what’s coming into the function, which data is coming into the function.

46 00:07:52.080 00:07:55.059 Henry Zhao: Well, it would be the segment events that I just showed you, which…

47 00:07:55.520 00:07:57.960 Henry Zhao: Is order updated, which is also order ID.

48 00:07:58.890 00:08:01.029 Henry Zhao: So if you just take a look at Webflow…

49 00:08:02.200 00:08:05.139 Henry Zhao: Well, no, we would want just Basque Order Updated.

50 00:08:07.930 00:08:09.250 Henry Zhao: Order updated.

51 00:08:10.030 00:08:11.440 Henry Zhao: It is…

52 00:08:18.650 00:08:22.069 Henry Zhao: Oh, it might be this body data order ID, actually.

53 00:08:24.190 00:08:25.460 Henry Zhao: So maybe that’s the issue.

54 00:08:26.110 00:08:27.190 Henry Zhao: No.

55 00:08:28.030 00:08:29.729 Henry Zhao: Is that the right ID, that was?

56 00:08:30.240 00:08:33.170 Henry Zhao: I think I want the order ID, which is, like, a bunch of… a few numbers.

57 00:08:34.530 00:08:36.050 Henry Zhao: No, that’s the user ID, I think.

58 00:08:43.140 00:08:46.280 Henry Zhao: It doesn’t matter, later we can do this, like, you can use a sample event.

59 00:08:46.510 00:08:53.700 Henry Zhao: I can do order updated… Just pick anyone, I think.

60 00:08:55.690 00:08:57.180 Henry Zhao: Matthew, what does this look like?

61 00:08:57.600 00:09:00.990 Zoran Selinger: Yeah, order updated should be… that…

62 00:09:01.160 00:09:02.990 Henry Zhao: Okay, this one’s fine. Use this one.

63 00:09:05.570 00:09:07.860 Zoran Selinger: Okay, cool. So based on that…

64 00:09:07.860 00:09:10.550 Henry Zhao: This body.data.orderID, right?

65 00:09:11.190 00:09:13.219 Henry Zhao: I don’t think there’s any other order ID.

66 00:09:18.880 00:09:22.780 Henry Zhao: Yeah, I think it’s body.data.orgorderID. So I don’t know if I replaced this one.

67 00:09:22.780 00:09:24.940 Zoran Selinger: No, no, no, so leave that there.

68 00:09:25.840 00:09:27.740 Zoran Selinger: That is fine.

69 00:09:28.750 00:09:33.030 Henry Zhao: So promise void is fine, site ID uses this variable, so I think that’s fine.

70 00:09:33.030 00:09:34.030 Zoran Selinger: Exactly.

71 00:09:34.270 00:09:41.109 Henry Zhao: Pause response, this is the correct URL, so I checked that. Also, method post should be fine, this is fine, this is fine.

72 00:09:41.300 00:09:45.290 Henry Zhao: This is from ChatGBT, but I think it should be fine, it just is an error message.

73 00:09:45.510 00:09:48.259 Henry Zhao: Yeah. I feel like the book should be okay, also.

74 00:09:48.260 00:09:48.970 Zoran Selinger: Cool.

75 00:09:49.840 00:09:52.580 Henry Zhao: I don’t know if I need a semicolon here, but I don’t think so.

76 00:09:53.050 00:09:57.669 Zoran Selinger: What? No, no, no, should be fine. Okay, so…

77 00:09:57.670 00:10:09.139 Henry Zhao: And I need the actual incoming events, so I did… this is from ChatGPT also, so export async function on track event any where the event codes are in one of these. Okay, so I’m sending…

78 00:10:09.140 00:10:16.540 Zoran Selinger: we, can we look at… Okay, and then event…

79 00:10:16.750 00:10:17.320 Henry Zhao: So don’t.

80 00:10:17.320 00:10:24.549 Zoran Selinger: Do we see that in the payload? Do we have the… so we have integrations, we have properties.

81 00:10:25.050 00:10:25.760 Henry Zhao: Right.

82 00:10:26.050 00:10:33.459 Zoran Selinger: So, yeah, I’m interested in the input now, in the shape of the input, so let’s scroll that.

83 00:10:34.400 00:10:35.800 Henry Zhao: Okay, so how do I crawl that?

84 00:10:35.800 00:10:38.930 Zoran Selinger: No, no, so, just the sample that you have on the side.

85 00:10:40.440 00:10:46.599 Zoran Selinger: An example, yeah, so let’s see, do we have… yes, event.event.

86 00:10:46.900 00:10:48.420 Henry Zhao: His order updated, right?

87 00:10:49.390 00:10:51.819 Zoran Selinger: Equals to order updated, good.

88 00:10:52.460 00:10:53.230 Henry Zhao: And then eventually…

89 00:10:53.230 00:10:55.170 Zoran Selinger: Mint Codes, where is that?

90 00:10:55.640 00:10:57.610 Henry Zhao: This is my variable.includes.

91 00:10:57.610 00:11:01.610 Zoran Selinger: Includes event… Properties, data.

92 00:11:01.610 00:11:02.920 Henry Zhao: No, everybody.

93 00:11:03.330 00:11:05.180 Henry Zhao: Body.dataevenco, right?

94 00:11:05.180 00:11:07.879 Zoran Selinger: Let’s… let’s check that. Let’s scroll up.

95 00:11:10.290 00:11:11.790 Henry Zhao: So, it’s body…

96 00:11:11.790 00:11:15.250 Zoran Selinger: No, oh, so first is properties, then body.

97 00:11:16.380 00:11:17.959 Henry Zhao: Then body, then data.

98 00:11:18.330 00:11:19.230 Zoran Selinger: And then…

99 00:11:21.440 00:11:22.810 Henry Zhao: And event code, right?

100 00:11:23.060 00:11:28.259 Zoran Selinger: And then, event code. Yeah, that looks fine. Yes?

101 00:11:28.260 00:11:29.130 Henry Zhao: Right?

102 00:11:29.130 00:11:35.910 Zoran Selinger: Yeah. Let’s pick up the order ID, it’s under event, Properties.

103 00:11:36.280 00:11:37.690 Henry Zhao: Body.data also.

104 00:11:38.360 00:11:39.010 Zoran Selinger: Yep.

105 00:11:40.650 00:11:44.220 Henry Zhao: zodi.data dots order ID.

106 00:11:44.530 00:11:46.060 Zoran Selinger: Yes, cool.

107 00:11:46.420 00:11:56.299 Zoran Selinger: That looks, fine, and then order status equals… is paid now? I wish… is the other one…

108 00:11:56.660 00:11:59.150 Henry Zhao: That’s what we’re gonna update. We want to set the order status to paid.

109 00:11:59.860 00:12:02.070 Henry Zhao: And then all of these I don’t think are relevant.

110 00:12:02.920 00:12:03.690 Zoran Selinger: Sorry?

111 00:12:03.970 00:12:05.360 Henry Zhao: These, I don’t think, are relevant.

112 00:12:05.820 00:12:08.560 Zoran Selinger: Yeah, yeah, I think so, too.

113 00:12:09.570 00:12:13.540 Henry Zhao: And then this one is fine, I think. It’s just awaiting the update catalyst order.

114 00:12:13.540 00:12:16.530 Zoran Selinger: Yeah, so that looks, okay.

115 00:12:16.530 00:12:21.160 Henry Zhao: So I run a test, and I get this error. I don’t know what this means. Cannot read properties of undefined reading…

116 00:12:22.430 00:12:24.290 Zoran Selinger: It doesn’t show…

117 00:12:24.290 00:12:25.600 Henry Zhao: Oh, there’s none.

118 00:12:26.610 00:12:33.950 Zoran Selinger: I don’t like that this is… It’s…

119 00:12:36.960 00:12:40.710 Zoran Selinger: You see, these types are underscored? I don’t like that.

120 00:12:44.590 00:12:47.630 Zoran Selinger: It’s like it doesn’t support… let’s… okay, let’s cover.

121 00:12:49.000 00:12:50.550 Henry Zhao: This is a TypeScript file, right?

122 00:12:51.890 00:12:55.200 Henry Zhao: Unless… unless destination functions don’t allow TypeScript files.

123 00:13:06.310 00:13:07.060 Henry Zhao: What is this?

124 00:13:07.060 00:13:10.670 Zoran Selinger: So this is not even… this is not saved anywhere, right?

125 00:13:10.670 00:13:11.470 Henry Zhao: No.

126 00:13:14.490 00:13:16.050 Zoran Selinger: So what language is this?

127 00:13:21.890 00:13:24.349 Henry Zhao: Is the JavaScript.

128 00:13:29.210 00:13:31.199 Henry Zhao: Is this the… is this explaining the error?

129 00:13:31.680 00:13:36.439 Zoran Selinger: No, no, no, not at all. Not at all. I wanna figure out,

130 00:13:37.000 00:13:40.489 Zoran Selinger: So, it says that this is allowed in…

131 00:13:42.470 00:13:48.020 Zoran Selinger: Right destination function. Let’s go into the documentation and just check whether, whether if it’s…

132 00:13:48.680 00:13:55.899 Zoran Selinger: I mean, that should be the type of JavaScript, right? So I don’t know why it wouldn’t be allowed. Oh, no, I mean, it wouldn’t always…

133 00:14:02.720 00:14:06.070 Zoran Selinger: So this is just pure JavaScript.

134 00:14:06.390 00:14:08.999 Zoran Selinger: Stay there, stay there, stay there.

135 00:14:09.660 00:14:11.259 Zoran Selinger: Runtime and appendices…

136 00:14:17.940 00:14:23.630 Zoran Selinger: Yeah, this is… yeah, looks like we cannot use… TypeScript.

137 00:14:24.350 00:14:25.380 Henry Zhao: TypeScript?

138 00:14:25.380 00:14:26.090 Zoran Selinger: Yeah.

139 00:14:26.770 00:14:34.300 Zoran Selinger: So if we… if we ask JGPT to rewrite into just JavaScript, we should be okay.

140 00:14:34.550 00:14:37.379 Henry Zhao: So, Catalyst said we have to use the TypeScript or the PHP.

141 00:14:37.850 00:14:41.690 Henry Zhao: They don’t want us using JavaScript, unless we’re sending it directly from the thank you page.

142 00:14:43.290 00:14:46.090 Henry Zhao: That doesn’t matter to them.

143 00:14:46.610 00:14:47.540 Zoran Selinger: Really?

144 00:14:48.380 00:14:54.160 Zoran Selinger: They won’t see the difference on their, on their end at all. They just see the request.

145 00:14:55.460 00:14:56.110 Henry Zhao: Okay.

146 00:14:56.430 00:15:01.080 Zoran Selinger: Yeah, so don’t, don’t worry about it. They don’t… they won’t see a difference.

147 00:15:01.250 00:15:03.290 Henry Zhao: Don’t do this in ChatGPT or Cursor.

148 00:15:04.140 00:15:09.020 Zoran Selinger: do whatever you have opened already. It’s fine.

149 00:15:09.130 00:15:09.790 Zoran Selinger: Yeah.

150 00:15:24.300 00:15:26.770 Henry Zhao: And I’m learning a lot from you on this, too, so thank you.

151 00:15:30.930 00:15:32.230 Henry Zhao: Okay.

152 00:15:34.400 00:15:38.669 Zoran Selinger: Yeah, so they won’t see the difference at all on their side on this.

153 00:15:38.670 00:15:39.469 Henry Zhao: Is that right?

154 00:15:41.690 00:15:48.890 Zoran Selinger: And you end prop… I mean, yeah, it’s a secure, secure way to do it.

155 00:15:48.890 00:15:51.530 Henry Zhao: Let’s at least test, right? We can at least test it.

156 00:15:51.530 00:15:54.050 Zoran Selinger: Yeah, yeah, yeah, no, that’ll be fine.

157 00:15:55.010 00:15:59.520 Zoran Selinger: Okay, let’s just quickly scroll. Okay, sure, go, Turan, go…

158 00:15:59.740 00:16:02.449 Henry Zhao: It still says, cannot read properties of undefined reading line.

159 00:16:03.830 00:16:04.510 Zoran Selinger: What?

160 00:16:06.580 00:16:08.969 Henry Zhao: I’m trying this in a segment.

161 00:16:09.690 00:16:11.880 Henry Zhao: destination function.

162 00:16:12.220 00:16:16.790 Henry Zhao: But get the error… But when testing…

163 00:16:16.790 00:16:19.719 Zoran Selinger: Let me get into the documentation a little bit.

164 00:16:20.770 00:16:23.060 Henry Zhao: We’ll let ChatGPT also get into the documentation.

165 00:16:23.190 00:16:27.940 Zoran Selinger: Segment, destination… Option.

166 00:16:30.920 00:16:32.849 Henry Zhao: Of course, it exists for the test payload I used?

167 00:17:01.640 00:17:03.460 Zoran Selinger: Function segment…

168 00:17:34.480 00:17:38.479 Zoran Selinger: Functions, new functions, select destination as the function, okay.

169 00:17:50.100 00:18:01.930 Zoran Selinger: The default source code template includes handlers for all event types. You don’t need to implement all of them, just use the ones you need, and skip the ones you don’t. Destination ones can

170 00:18:02.140 00:18:13.979 Zoran Selinger: define handlers for each message type in segment spec. So, we have on identify, on track, on page, on screen, on group, on alias, on delete, or on batch.

171 00:18:14.690 00:18:16.469 Henry Zhao: So I think we don’t want any of this…

172 00:18:17.170 00:18:19.760 Henry Zhao: console.log, I think that’s what’s maybe throwing it off.

173 00:18:22.310 00:18:31.699 Zoran Selinger: Don’t remove anything in the else, because that… you must change then the whole try, block.

174 00:18:32.860 00:18:35.569 Zoran Selinger: Well, sorry, the Khalif block.

175 00:18:36.420 00:18:37.470 Henry Zhao: Wife block.

176 00:18:39.360 00:18:41.649 Zoran Selinger: Fetch, not fetch package.

177 00:18:45.990 00:18:49.109 Zoran Selinger: On a group, on a page, on Alias, on track.

178 00:18:52.560 00:18:55.820 Henry Zhao: And this is a good example, because this is questionnaire completed, so I don’t even need to…

179 00:18:57.520 00:18:59.159 Zoran Selinger: Yeah, yeah,

180 00:19:00.120 00:19:08.650 Zoran Selinger: I’m trying to figure out the following pins and style on the function development. Do we have…

181 00:19:12.010 00:19:15.150 Zoran Selinger: So, we are sending a wait fetch.

182 00:19:17.970 00:19:20.099 Zoran Selinger: Yeah, so that’s not fetch.

183 00:19:30.130 00:19:31.589 Zoran Selinger: Yeah, it just should be…

184 00:19:32.570 00:19:37.829 Henry Zhao: I think it’s not an issue with our code, because no matter what I’m putting in, I’m getting… I’m getting that same error.

185 00:19:38.350 00:19:40.419 Zoran Selinger: Yeah, let’s, let’s…

186 00:19:43.720 00:19:44.720 Zoran Selinger: Okay.

187 00:19:46.160 00:19:50.299 Henry Zhao: Like, no matter what I do, Oh, never mind.

188 00:19:57.060 00:19:59.009 Henry Zhao: So this is what it’s supposed to look like, alright?

189 00:19:59.010 00:20:03.850 Zoran Selinger: not supported. Okay, let’s, we have to choose.

190 00:20:05.610 00:20:09.569 Zoran Selinger: Between, a few functions.

191 00:20:10.040 00:20:10.720 Henry Zhao: Okay.

192 00:20:11.580 00:20:14.639 Zoran Selinger: And we don’t have to, export default.

193 00:20:14.770 00:20:23.440 Zoran Selinger: So, listen, we have… On the… based on… go to the documentation, destination functions.

194 00:20:24.790 00:20:27.040 Zoran Selinger: And just scroll down a little bit.

195 00:20:27.690 00:20:35.079 Zoran Selinger: You see those? Yes, there. So you see those… so our function that runs has to be named one of these.

196 00:20:39.190 00:20:40.089 Henry Zhao: on track.

197 00:20:42.560 00:20:43.360 Henry Zhao: I thought I had that.

198 00:20:43.360 00:20:47.269 Zoran Selinger: See, that should be a custom event, right?

199 00:20:47.290 00:20:48.650 Henry Zhao: On track here.

200 00:20:51.870 00:20:55.519 Zoran Selinger: Yeah, let’s, let’s lose the export there.

201 00:20:57.090 00:21:00.179 Zoran Selinger: Let’s try that and lose the export.

202 00:21:00.520 00:21:04.879 Zoran Selinger: No, so, I mean, you can copy the whole code, and then we’ll…

203 00:21:05.260 00:21:06.020 Henry Zhao: Okay.

204 00:21:07.470 00:21:09.440 Zoran Selinger: Remove the export.

205 00:21:10.010 00:21:13.070 Zoran Selinger: Because that’s not what’s in examples.

206 00:21:13.450 00:21:16.349 Zoran Selinger: Just having a sync function.

207 00:21:17.180 00:21:18.430 Henry Zhao: Oh, that actually is working.

208 00:21:21.620 00:21:23.690 Henry Zhao: I literally just got rid of export, and it’s working.

209 00:21:23.690 00:21:24.430 Zoran Selinger: Yep.

210 00:21:24.430 00:21:25.400 Henry Zhao: Oh, whoa!

211 00:21:26.390 00:21:27.989 Henry Zhao: Zaron, are you a magician?

212 00:21:27.990 00:21:31.229 Zoran Selinger: Yeah, so.

213 00:21:31.230 00:21:32.229 Henry Zhao: Does that work?

214 00:21:32.470 00:21:33.240 Zoran Selinger: Yeah.

215 00:21:33.360 00:21:43.880 Zoran Selinger: We have a successful output, and we said that… do we have anything else in these logs down there?

216 00:21:43.880 00:21:48.119 Henry Zhao: We’re only doing console debug, and console error, and…

217 00:21:48.670 00:21:53.630 Zoran Selinger: And the status, duration, and waterfall there on the bottom?

218 00:21:54.070 00:21:54.630 Henry Zhao: No, nothing.

219 00:21:54.630 00:21:56.240 Zoran Selinger: Nothing?

220 00:21:56.240 00:21:56.750 Henry Zhao: Yeah.

221 00:21:57.060 00:21:59.020 Zoran Selinger: Okay,

222 00:22:02.530 00:22:03.890 Zoran Selinger: Yeah, I mean…

223 00:22:04.720 00:22:05.839 Henry Zhao: It looks like it works.

224 00:22:06.670 00:22:11.769 Zoran Selinger: This society… Or is that a site ID?

225 00:22:11.960 00:22:13.580 Zoran Selinger: And… yeah.

226 00:22:13.580 00:22:16.300 Henry Zhao: Check what the order ID looks like, one second, real quick.

227 00:22:18.490 00:22:19.569 Henry Zhao: Just making sure.

228 00:22:19.720 00:22:24.649 Henry Zhao: No, it’s PI underscore something. So we’re almost there, almost there, we’re almost there, we’re almost there.

229 00:22:25.030 00:22:27.100 Henry Zhao: We need to figure out what this one is.

230 00:22:28.510 00:22:29.890 Henry Zhao: I think it’s transaction ID.

231 00:22:32.730 00:22:39.920 Zoran Selinger: Yeah, Norbin has the same format, yes. Norbin uses also the one with PI as an order ID.

232 00:22:41.980 00:22:44.400 Henry Zhao: Better have it. I’m gonna be so annoyed if we don’t.

233 00:22:55.830 00:22:57.370 Henry Zhao: I don’t think we have the PI one.

234 00:22:58.240 00:22:59.310 Zoran Selinger: How come?

235 00:23:05.930 00:23:10.350 Zoran Selinger: Let me just quickly check what’s in GTM for segment.

236 00:23:29.960 00:23:33.010 Henry Zhao: It’s transaction ID for order completed, but I don’t know why it’s not…

237 00:23:33.490 00:23:36.390 Henry Zhao: update… for the order updated, there’s no transaction ID.

238 00:24:00.480 00:24:03.799 Zoran Selinger: So I have the sign-up, I have the order complete.

239 00:24:06.780 00:24:18.910 Zoran Selinger: Order ID, yeah, as in… transaction ID from… from data layer. Let me see… what it takes.

240 00:24:23.150 00:24:24.490 Zoran Selinger: Transaction.

241 00:24:26.210 00:24:30.940 Zoran Selinger: ID… It’s from the e-commerce.

242 00:24:35.270 00:24:38.730 Zoran Selinger: So the bus has… e-commerce…

243 00:24:43.070 00:24:44.679 Zoran Selinger: Data layer setup.

244 00:24:47.740 00:24:50.210 Zoran Selinger: That is so weird.

245 00:24:51.070 00:24:57.340 Zoran Selinger: Why would that table not have… a transaction ID.

246 00:25:01.840 00:25:03.470 Henry Zhao: In the meantime, I want to ask Bask.

247 00:25:04.180 00:25:07.350 Henry Zhao: Just in case they can add it quickly, we can already have something running.

248 00:25:08.980 00:25:10.420 Zoran Selinger: Damn, that’s so annoying.

249 00:25:10.610 00:25:11.370 Henry Zhao: Right?

250 00:25:11.740 00:25:22.729 Zoran Selinger: Yes, so this is the integration with BigQuery, so this is them directly pushing data into the BigQuery project.

251 00:25:23.530 00:25:28.220 Zoran Selinger: Okay, cool. Do you think, if…

252 00:25:28.350 00:25:34.400 Zoran Selinger: This is not doable in short term. Do you think you’d be able to merge?

253 00:25:35.510 00:25:36.819 Zoran Selinger: No, because I had nothing to do.

254 00:25:37.990 00:25:44.259 Henry Zhao: I could, but then… it won’t be real time. What I could do is I could basically…

255 00:25:45.640 00:25:46.420 Zoran Selinger: Yeah, that’s…

256 00:25:46.420 00:26:00.060 Henry Zhao: Let’s see how often the order updated is, running into BigQuery, because I could basically do a very hacky way where I join order completed to order updated in BigQuery, ping that every hour, and send that over.

257 00:26:03.930 00:26:07.030 Zoran Selinger: So you would do that once an hour.

258 00:26:07.250 00:26:17.980 Zoran Selinger: And do you think… So basically, you’d be… so if now I… I do an order update.

259 00:26:18.990 00:26:22.720 Zoran Selinger: Do you think that happens within an hour of them signing up?

260 00:26:24.440 00:26:26.769 Henry Zhao: I don’t know, but it doesn’t need to be with an hour, right? So…

261 00:26:28.170 00:26:29.910 Henry Zhao: It’s every 2 hours, I guess, this…

262 00:26:30.360 00:26:35.590 Zoran Selinger: No, but I’m telling you, if you’re, if you’re doing something like that.

263 00:26:35.770 00:26:44.030 Zoran Selinger: Only once an hour, and people usually do update their order within an hour, then it won’t be available.

264 00:26:47.700 00:26:53.200 Henry Zhao: But I can’t retroactively look at the last 2 hours and say, whichever 2 hours had order updated.

265 00:26:54.730 00:26:56.289 Henry Zhao: Send it over to Catalyst?

266 00:26:58.030 00:26:59.859 Zoran Selinger: Okay, cool, okay.

267 00:27:01.150 00:27:04.810 Henry Zhao: I don’t like that solution, I still would rather them put a GTM container on the thank you page.

268 00:27:05.600 00:27:06.809 Henry Zhao: They haven’t told me why they can’t.

269 00:27:06.810 00:27:10.060 Zoran Selinger: Hey, our thank you page is not on Basque, right?

270 00:27:11.840 00:27:15.430 Henry Zhao: Oh, is that why? Because then we can add it, then why don’t we just add it?

271 00:27:15.430 00:27:17.780 Zoran Selinger: No, no, no, I’m asking you.

272 00:27:17.840 00:27:36.099 Zoran Selinger: So listen, Basque won’t have, they don’t want to add anything there, because probably they… they need to change the template, and that… then that’s… you’re changing their product that goes out to all… all customers, or all their customers.

273 00:27:36.270 00:27:39.500 Henry Zhao: But why wouldn’t they have had the GTM container on their thank you page to begin with?

274 00:27:39.720 00:27:51.209 Zoran Selinger: That is quite normal, I’d say. Even for Shopify, for example. You have limited options in, like, in order, checkout, and all that. But,

275 00:27:51.730 00:27:59.770 Zoran Selinger: The thank you page itself, I’m not sure if it redirects to outside of the app.

276 00:28:00.410 00:28:03.949 Zoran Selinger: try it in subdomain, outside of…

277 00:28:04.420 00:28:20.050 Zoran Selinger: If it does, then it’s in our control. We should be able to have the GTM there. If we don’t, if we are able to and we don’t, then it’s 100% the compliance. Like they said, they are very careful.

278 00:28:20.050 00:28:30.749 Zoran Selinger: About, you know, us not knowing the exact moment they became a paying customer, because it’s not compliant, right?

279 00:28:32.810 00:28:35.480 Zoran Selinger: So maybe, maybe that’s why they avoid it.

280 00:28:39.690 00:28:45.710 Zoran Selinger: Because, basically, if we do have a GTM there, we might be able to, you know, deduce that.

281 00:28:46.910 00:28:52.600 Zoran Selinger: Maybe they want to avoid that, if that’s… if that’s the problem. But we should… we can ask.

282 00:28:54.110 00:28:54.740 Henry Zhao: Okay.

283 00:28:55.200 00:28:57.419 Henry Zhao: Yeah, I’m asking… I’m asking Ryan.

284 00:28:57.420 00:28:58.200 Zoran Selinger: Yeah.

285 00:28:58.670 00:29:03.100 Zoran Selinger: In any case, we now have the function there. Yeah.

286 00:29:03.470 00:29:07.739 Zoran Selinger: We just, yeah, need, need the correct, correct transaction ID.

287 00:29:09.970 00:29:13.570 Henry Zhao: I will give them an update so they think we’re working… they know we’re working on this.

288 00:29:13.570 00:29:14.110 Zoran Selinger: Okay.

289 00:29:14.480 00:29:17.160 Henry Zhao: Alright, thanks, Aran, you’ve been really helpful, so I really appreciate it.

290 00:29:17.160 00:29:18.800 Zoran Selinger: upon, not on.

291 00:29:18.990 00:29:19.790 Henry Zhao: Thank you.

292 00:29:19.950 00:29:20.540 Zoran Selinger: Bye.