Skip to content
This repository was archived by the owner on Mar 15, 2026. It is now read-only.

Commit 0b41f3a

Browse files
authored
Merge pull request #47 from adcontextprotocol/feature/url-type-clickthrough
feat: add url_type to click_url assets and remove click_tracker
2 parents 6f51048 + 0dd9262 commit 0b41f3a

2 files changed

Lines changed: 17 additions & 202 deletions

File tree

src/creative_agent/data/standard_formats.py

Lines changed: 17 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -82,19 +82,19 @@ def create_impression_tracker_asset() -> LibAssets:
8282
)
8383

8484

85-
def create_click_tracker_asset() -> LibAssets:
86-
"""Create an optional click tracker asset for 3rd party tracking.
85+
def create_click_url_asset() -> LibAssets:
86+
"""Create a required clickthrough URL asset.
8787
88-
This creates a URL asset with url_type='tracker_redirect' that can be used
89-
for third-party click tracking redirects.
88+
This creates a URL asset with url_type='clickthrough' for the landing page
89+
destination when users click on the ad.
9090
"""
9191
return create_asset(
92-
asset_id="click_tracker",
92+
asset_id="click_url",
9393
asset_type=AssetType.url,
94-
required=False,
94+
required=True,
9595
requirements={
96-
"url_type": "tracker_redirect",
97-
"description": "3rd party click tracking redirect URL",
96+
"url_type": "clickthrough",
97+
"description": "Clickthrough destination URL",
9898
},
9999
)
100100

@@ -172,7 +172,6 @@ def create_responsive_render(
172172
requirements={"description": "Text prompt describing the desired creative"},
173173
),
174174
create_impression_tracker_asset(),
175-
create_click_tracker_asset(),
176175
],
177176
),
178177
# Concrete formats for backward compatibility
@@ -198,7 +197,6 @@ def create_responsive_render(
198197
requirements={"description": "Text prompt describing the desired creative"},
199198
),
200199
create_impression_tracker_asset(),
201-
create_click_tracker_asset(),
202200
],
203201
),
204202
CreativeFormat(
@@ -223,7 +221,6 @@ def create_responsive_render(
223221
requirements={"description": "Text prompt describing the desired creative"},
224222
),
225223
create_impression_tracker_asset(),
226-
create_click_tracker_asset(),
227224
],
228225
),
229226
CreativeFormat(
@@ -248,7 +245,6 @@ def create_responsive_render(
248245
requirements={"description": "Text prompt describing the desired creative"},
249246
),
250247
create_impression_tracker_asset(),
251-
create_click_tracker_asset(),
252248
],
253249
),
254250
CreativeFormat(
@@ -273,7 +269,6 @@ def create_responsive_render(
273269
requirements={"description": "Text prompt describing the desired creative"},
274270
),
275271
create_impression_tracker_asset(),
276-
create_click_tracker_asset(),
277272
],
278273
),
279274
CreativeFormat(
@@ -298,7 +293,6 @@ def create_responsive_render(
298293
requirements={"description": "Text prompt describing the desired creative"},
299294
),
300295
create_impression_tracker_asset(),
301-
create_click_tracker_asset(),
302296
],
303297
),
304298
CreativeFormat(
@@ -323,7 +317,6 @@ def create_responsive_render(
323317
requirements={"description": "Text prompt describing the desired creative"},
324318
),
325319
create_impression_tracker_asset(),
326-
create_click_tracker_asset(),
327320
],
328321
),
329322
CreativeFormat(
@@ -348,7 +341,6 @@ def create_responsive_render(
348341
requirements={"description": "Text prompt describing the desired creative"},
349342
),
350343
create_impression_tracker_asset(),
351-
create_click_tracker_asset(),
352344
],
353345
),
354346
]
@@ -410,7 +402,6 @@ def create_responsive_render(
410402
asset_type=AssetType.vast,
411403
required=True,
412404
),
413-
create_click_tracker_asset(),
414405
],
415406
),
416407
# Concrete formats for backward compatibility
@@ -469,7 +460,6 @@ def create_responsive_render(
469460
"description": "VAST 4.x compatible tag",
470461
},
471462
),
472-
create_click_tracker_asset(),
473463
],
474464
),
475465
CreativeFormat(
@@ -622,16 +612,8 @@ def create_responsive_render(
622612
"acceptable_formats": ["jpg", "png", "gif", "webp"],
623613
},
624614
),
625-
create_asset(
626-
asset_id="click_url",
627-
asset_type=AssetType.url,
628-
required=True,
629-
requirements={
630-
"description": "Clickthrough destination URL",
631-
},
632-
),
615+
create_click_url_asset(),
633616
create_impression_tracker_asset(),
634-
create_click_tracker_asset(),
635617
],
636618
),
637619
# Concrete formats for backward compatibility
@@ -654,16 +636,8 @@ def create_responsive_render(
654636
"acceptable_formats": ["jpg", "png", "gif", "webp"],
655637
},
656638
),
657-
create_asset(
658-
asset_id="click_url",
659-
asset_type=AssetType.url,
660-
required=True,
661-
requirements={
662-
"description": "Clickthrough destination URL",
663-
},
664-
),
639+
create_click_url_asset(),
665640
create_impression_tracker_asset(),
666-
create_click_tracker_asset(),
667641
],
668642
),
669643
CreativeFormat(
@@ -685,13 +659,8 @@ def create_responsive_render(
685659
"acceptable_formats": ["jpg", "png", "gif", "webp"],
686660
},
687661
),
688-
create_asset(
689-
asset_id="click_url",
690-
asset_type=AssetType.url,
691-
required=True,
692-
),
662+
create_click_url_asset(),
693663
create_impression_tracker_asset(),
694-
create_click_tracker_asset(),
695664
],
696665
),
697666
CreativeFormat(
@@ -713,13 +682,8 @@ def create_responsive_render(
713682
"acceptable_formats": ["jpg", "png", "gif", "webp"],
714683
},
715684
),
716-
create_asset(
717-
asset_id="click_url",
718-
asset_type=AssetType.url,
719-
required=True,
720-
),
685+
create_click_url_asset(),
721686
create_impression_tracker_asset(),
722-
create_click_tracker_asset(),
723687
],
724688
),
725689
CreativeFormat(
@@ -741,13 +705,8 @@ def create_responsive_render(
741705
"acceptable_formats": ["jpg", "png", "gif", "webp"],
742706
},
743707
),
744-
create_asset(
745-
asset_id="click_url",
746-
asset_type=AssetType.url,
747-
required=True,
748-
),
708+
create_click_url_asset(),
749709
create_impression_tracker_asset(),
750-
create_click_tracker_asset(),
751710
],
752711
),
753712
CreativeFormat(
@@ -769,13 +728,8 @@ def create_responsive_render(
769728
"acceptable_formats": ["jpg", "png", "gif", "webp"],
770729
},
771730
),
772-
create_asset(
773-
asset_id="click_url",
774-
asset_type=AssetType.url,
775-
required=True,
776-
),
731+
create_click_url_asset(),
777732
create_impression_tracker_asset(),
778-
create_click_tracker_asset(),
779733
],
780734
),
781735
CreativeFormat(
@@ -797,13 +751,8 @@ def create_responsive_render(
797751
"acceptable_formats": ["jpg", "png", "gif", "webp"],
798752
},
799753
),
800-
create_asset(
801-
asset_id="click_url",
802-
asset_type=AssetType.url,
803-
required=True,
804-
),
754+
create_click_url_asset(),
805755
create_impression_tracker_asset(),
806-
create_click_tracker_asset(),
807756
],
808757
),
809758
CreativeFormat(
@@ -825,13 +774,8 @@ def create_responsive_render(
825774
"acceptable_formats": ["jpg", "png", "gif", "webp"],
826775
},
827776
),
828-
create_asset(
829-
asset_id="click_url",
830-
asset_type=AssetType.url,
831-
required=True,
832-
),
777+
create_click_url_asset(),
833778
create_impression_tracker_asset(),
834-
create_click_tracker_asset(),
835779
],
836780
),
837781
]
@@ -857,7 +801,6 @@ def create_responsive_render(
857801
},
858802
),
859803
create_impression_tracker_asset(),
860-
create_click_tracker_asset(),
861804
],
862805
),
863806
# Concrete formats for backward compatibility
@@ -881,7 +824,6 @@ def create_responsive_render(
881824
},
882825
),
883826
create_impression_tracker_asset(),
884-
create_click_tracker_asset(),
885827
],
886828
),
887829
CreativeFormat(
@@ -903,7 +845,6 @@ def create_responsive_render(
903845
},
904846
),
905847
create_impression_tracker_asset(),
906-
create_click_tracker_asset(),
907848
],
908849
),
909850
CreativeFormat(
@@ -925,7 +866,6 @@ def create_responsive_render(
925866
},
926867
),
927868
create_impression_tracker_asset(),
928-
create_click_tracker_asset(),
929869
],
930870
),
931871
CreativeFormat(
@@ -947,7 +887,6 @@ def create_responsive_render(
947887
},
948888
),
949889
create_impression_tracker_asset(),
950-
create_click_tracker_asset(),
951890
],
952891
),
953892
CreativeFormat(
@@ -969,7 +908,6 @@ def create_responsive_render(
969908
},
970909
),
971910
create_impression_tracker_asset(),
972-
create_click_tracker_asset(),
973911
],
974912
),
975913
CreativeFormat(
@@ -991,7 +929,6 @@ def create_responsive_render(
991929
},
992930
),
993931
create_impression_tracker_asset(),
994-
create_click_tracker_asset(),
995932
],
996933
),
997934
]
@@ -1014,7 +951,6 @@ def create_responsive_render(
1014951
required=True,
1015952
),
1016953
create_impression_tracker_asset(),
1017-
create_click_tracker_asset(),
1018954
],
1019955
),
1020956
]
@@ -1118,14 +1054,7 @@ def create_responsive_render(
11181054
"description": "Author name for editorial context",
11191055
},
11201056
),
1121-
create_asset(
1122-
asset_id="click_url",
1123-
asset_type=AssetType.url,
1124-
required=True,
1125-
requirements={
1126-
"description": "Landing page URL",
1127-
},
1128-
),
1057+
create_click_url_asset(),
11291058
create_asset(
11301059
asset_id="disclosure",
11311060
asset_type=AssetType.text,
@@ -1135,7 +1064,6 @@ def create_responsive_render(
11351064
},
11361065
),
11371066
create_impression_tracker_asset(),
1138-
create_click_tracker_asset(),
11391067
],
11401068
),
11411069
]

0 commit comments

Comments
 (0)