diff --git a/src/core/tools/media_buy_create.py b/src/core/tools/media_buy_create.py
index 5e7b70acf..e5a1fd28a 100644
--- a/src/core/tools/media_buy_create.py
+++ b/src/core/tools/media_buy_create.py
@@ -537,6 +537,9 @@ def execute_approved_media_buy(media_buy_id: str, tenant_id: str) -> tuple[bool,
from src.core.database.models import Creative as CreativeModel
from src.core.database.models import CreativeAssignment
+ # Import adapter helper here (used for both creative upload and order approval)
+ from src.core.helpers.adapter_helpers import get_adapter
+
# Get all creative assignments for this media buy
stmt_assignments = select(CreativeAssignment).filter_by(media_buy_id=media_buy_id)
assignments = session.scalars(stmt_assignments).all()
@@ -621,9 +624,6 @@ def execute_approved_media_buy(media_buy_id: str, tenant_id: str) -> tuple[bool,
assets.append(asset)
- # Import adapter helper at this scope level for both creative upload and order approval
- from src.core.helpers.adapter_helpers import get_adapter
-
if assets:
logger.info(f"[APPROVAL] Uploading {len(assets)} creatives to adapter")
diff --git a/templates/add_product.html b/templates/add_product.html
index 432a89516..5cedcc17a 100644
--- a/templates/add_product.html
+++ b/templates/add_product.html
@@ -537,10 +537,13 @@
Property Authorization (AdCP) *
-
-
Targeting Configuration (Optional)
-
- 💡 Tip: Configure custom targeting (key-value pairs) to define who will see ads for this product.
+
+
+ Custom Targeting (Optional)
+
+
+ 💡 Who Sees This: Configure custom targeting (key-value pairs) to define which audience segments will see ads for this product.
+ Example: sport=basketball, genre=action, age=18-34
- 💡 Tip: Configure custom targeting (key-value pairs) to define who will see ads for this product.
+
+
+ Custom Targeting (Optional)
+
+
+ 💡 Who Sees This: Configure custom targeting (key-value pairs) to define which audience segments will see ads for this product.
+ Example: sport=basketball, genre=action, age=18-34