# Wie Tracking-Code Yahoo Search Marketing einbinden?

**URL:** <https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973>\
**Category:** Deutsches Forum\
**Tags:** pe-ee-fragen\
**Created:** [April 12, 2009, 11:28am UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973 "2009-04-12T11:28:04Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![designer](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/d/848f3c/32.png) [@designer](https://forum.oxid-esales.com/u/designer)\
**Post date:** [April 12, 2009, 11:28am UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/1 "2009-04-12T11:28:04Z")

</div>

Hallo,hat jemand die Analysefunktionen von Yahoo Search Marketing (ehemals: Overture) im Einsatz und weiß, wie der Tracking-Code in der laststep.tpl (bzw. bei Vier-Schritt-Bestellung in die thankyou.tpl) eingefügt werden muss? Problematisch ist im Gegensatz zum Adwords-Tracking-Code, dass der Code von Yahoo in den Header der Konversionsseite (also zwischen \<HEAD\> und \</HEAD\>) eingebunden werden muss.Die obersten beiden Zeilen der laststep.tpl lauten:[{assign var=“template\_title” value=“Vielen Dank”}][{include file=“inc\_header.tpl” title=$template\_title location=“Bestellung abgeschlossen”}]Ich habe das Einbinden testweise auf einem lokalen Xampp-Server versucht; leider ohne Erfolg: Fügt man den Tracking-Code über oder unter der ersten Zeile ein, so befindet sich der Code oberhalb und damit außerhalb des Headers. Wird der Code aber unter der zweiten Zeile eingefügt, so befindet sich der Code aber mitten im Dokument, also im Body und nicht im Header. Ein Einfügen in die inc\_header.tpl kann ebenfalls nicht der richtige Weg sein, da dann jede Seite als Konversionsseite zählen würde.Für einen guten Tip im Voraus besten Dank.  
Viele Grüße  
designer

---

<div class="post-metadata">

**Author:** ![musicgate](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/m/85f322/32.png) [@musicgate](https://forum.oxid-esales.com/u/musicgate)\
**Post date:** [April 12, 2009, 11:36am UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/2 "2009-04-12T11:36:00Z")

</div>

Hallo

ich sehe da zwei Möglichkeiten.

Entweder die Zeilen in die inc\_header.tpl reinkopieren.

Auch möglich die inc\_header.tpl kopieren, umbenennen, Zeilen rein und der Aufruf anpassen.

Gruss Fredi

* * *

Im Shop finden Sie [Mikrofon](http://www.kopfhoerer.ch/mikrofon.php) bis zum [Lautsprecher](http://www.kopfhoerer.ch/lautsprecher.php) alles

---

<div class="post-metadata">

**Author:** ![designer](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/d/848f3c/32.png) [@designer](https://forum.oxid-esales.com/u/designer)\
**Post date:** [April 12, 2009, 12:10pm UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/3 "2009-04-12T12:10:48Z")

</div>

Hallo Fredi,

danke für den Tip. Leider funktoniert das auch nicht. In die inc\_header.tpl kann man den Code nicht hineinkopieren, weil er nur auf der Konversionsseite (laststep.tpl) aufgerufen werden soll. Die zweite Variante habe ich eben getestet und dazu eine inc\_test.tpl angelegt, in welche der Tracking-Code eingefügt wurde und welche durch Einfügen von [{include file=“inc\_test.tpl”}] in die laststep.tpl aufgerufen wurde. Allerdings tritt dort das Problem auf, dass bei Einfügen oberhalb der zweiten Zeile der laststep.tpl ([{include file=“inc\_header.tpl” title=$template\_title location=“Bestellung abgeschlossen”}]) der Tracking-Code wieder oberhalb des Headers steht und man - wenn man das Head-Tag in der inc\_test.tpl gesetzt hat - zwei Header in der Ausgabeseite hat. Bei Einfügen von [{include file=“inc\_test.tpl”}] unterhalb der zweiten Zeile der laststep.tpl befindet sich der Tracking-Code wieder mitten im Body und damit außerhalb des Heads.

Viele Grüße und nochmals besten Dank für diese Idee.

---

<div class="post-metadata">

**Author:** ![designer](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/d/848f3c/32.png) [@designer](https://forum.oxid-esales.com/u/designer)\
**Post date:** [April 12, 2009, 4:30pm UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/4 "2009-04-12T16:30:30Z")

</div>

Hallo Fredi,

ich bins nochmal. Jetzt habe ich erst verstanden, dass die zweite Möglichkeit so gemeint war, dass die Tracking-Code-Zeilen zusätzlich in die umbenannte, aber ansonsten unveränderte inc\_header.tpl eingefügt werden sollen und in der laststep.tpl dieses geänderte Template dann statt der inc\_header.tpl aufgerufen wird. Das funktioniert großartig, habe es eben gestestet.

Vielen Dank nochmals für die Hilfe. Da war ich wohl etwas betriebsblind 🙂

---

<div class="post-metadata">

**Author:** ![exo](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/e/8e8cbc/32.png) [@exo](https://forum.oxid-esales.com/u/exo)\
**Post date:** [April 13, 2009, 12:16am UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/5 "2009-04-13T00:16:30Z")

</div>

kurze Frage: wie sieht denn der Code aus den du da einfügen musst?

Weil eigentlich ist das relativ egal wo du den Code einfügst weil meist ist das eh nur Javascript-Zeug und es ist an der stelle nur das Thema, das der Code überhaupt geladen werden muss - aber eig. egal wo. Weil wie zb bei google analytics ist das ja auch egal ob der im head od. foot steht - hauptsache der code wird geladen, denn nur dann passiert ja etwas - also hättest wahrscheinlich wenns nur JScript ist was nachgeladen wird - auch einfach im 4. Step mit reinbringen können.

---

<div class="post-metadata">

**Author:** ![designer](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/d/848f3c/32.png) [@designer](https://forum.oxid-esales.com/u/designer)\
**Post date:** [April 13, 2009, 11:46am UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/6 "2009-04-13T11:46:02Z")

</div>

Der Code schaut folgendermaßen aus (die Acoount-ID habe ich mal geändert):

\<SCRIPT language=“JavaScript” type=“text/javascript”\>\<!-- Yahoo! Inc.window.ysm\_customData = new Object();window.ysm\_customData.conversion = “transId=,currency=,amount=”;var ysm\_accountid = “xxxxxxx”;document.write("\<SCR" + "IPT language=‘JavaScript’ type=‘text/javascript’ " + “SRC=//” + “[srv2.wa.marketingsolutions.yahoo.com](http://srv2.wa.marketingsolutions.yahoo.com)” + “/script/ScriptServlet” + “?aid=” + ysm\_accountid + “\>\</SCR” + “IPT\>”);// --\>\</SCRIPT\>

Da der Adwords-Tracking-Code ähnlich ist und im Body platziert wird, könnte das Snippet von Yahoo eigentlich auch in den Body. Allerdings weist Yahoo Search Marketing explizit darauf hin (sowohl auf der Website als auch im Installationshandbuch), dass der Code in den Header muss.

---

<div class="post-metadata">

**Author:** ![david](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/d/aeb1de/32.png) [@david](https://forum.oxid-esales.com/u/david)\
**Post date:** [March 9, 2010, 4:05pm UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/7 "2010-03-09T16:05:01Z")

</div>

Hello Oxidians,

Also die Lösung, die hier beschrieben wird, finde ich unschön. \_header.tpl zu duplizieren ist eine schlechte Idee wegen der Wartbarkeit des Templates. Mein Vorschlag wäre das render template mit Smarty-IF abzufragen. Wenn render() = ‘thankyou.tpl’, wird der Code von Yahoo eingebunden.

Zwischen \<head\> und \</head\> in \_header.tpl:

```php

[{* Yahoo Tracking *}]    
    [{if $oView->render() eq "thankyou.tpl"}]	
		<script type="text/javascript">
		<!-- Yahoo!
		window.ysm_customData = new Object();
		window.ysm_customData.conversion = "transId=,currency=,amount=";
		var ysm_accountid = "mysecretyahooidgoeshere";
		document.write("<scr" + "ipt type='text/javascript' " 
		+ "src=//" + "srv3.wa.marketingsolutions.yahoo.com" + "/script/ScriptServlet" + "?aid=" + ysm_accountid 
		+ "></scr" + "ipt>");
		// -->
		</script>
	[{/if}]
[{* /Yahoo Tracking *}]

```

Bitte beachten: Ich habe den Code von Yahoo etwas aufgeräumt, da es auf dem Stand von 1997 war (alle Tags waren großgeschrieben, überflüssige language-attribute usw.). Ich bin ausserdem immernoch unsicher, ob document.write überhaupt im \<head\> Bereich verwendet werden darf/soll. Besser wäre die Einbindung per document.createElement();

[B]Update:[/B] habe gerade nachgelesen: document.write() darf eigentlich nicht benutzt werden wenn XHTML als application/xhtml+xml vom Server versendet wird, was keinen betrifft, da IE application/xhtml+xml nicht unterstützt. (Allerdings, laut Spezifikation, _sollte_ XHTML als application/xhtml+xml verschickt werden). Von daher ist es empfehlenswert auf HTML5 umzustiegen, um zukünftige Javaskriptprobleme zu vermeiden. Siehe: [http://hixie.ch/advocacy/xhtml](http://hixie.ch/advocacy/xhtml)

Schöne Grüße

Dave

---

<div class="post-metadata">

**Author:** ![avenger](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/a/9de0a6/32.png) [@avenger](https://forum.oxid-esales.com/u/avenger)\
**Post date:** [March 10, 2010, 6:20am UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/8 "2010-03-10T06:20:00Z")

</div>

[QUOTE=david;26778]Hello Oxidians,

Also die Lösung, die hier beschrieben wird, finde ich unschön. \_header.tpl zu duplizieren ist eine schlechte Idee wegen der Wartbarkeit des Templates. Mein Vorschlag wäre das render template mit Smarty-IF abzufragen. Wenn render() = ‘thankyou.tpl’, wird der Code von Yahoo eingebunden.

Zwischen \<head\> und \</head\> in \_header.tpl:

```php

[{* Yahoo Tracking *}]    
    [{if $oView->render() eq "thankyou.tpl"}]    
        <script type="text/javascript">
        <!-- Yahoo!
        window.ysm_customData = new Object();
        window.ysm_customData.conversion = "transId=,currency=,amount=";
        var ysm_accountid = "mysecretyahooidgoeshere";
        document.write("<scr" + "ipt type='text/javascript' " 
        + "src=//" + "srv3.wa.marketingsolutions.yahoo.com" + "/script/ScriptServlet" + "?aid=" + ysm_accountid 
        + "></scr" + "ipt>");
        // -->
        </script>
    [{/if}]
[{* /Yahoo Tracking *}]

```

Bitte beachten: Ich habe den Code von Yahoo etwas aufgeräumt, da es auf dem Stand von 1997 war (alle Tags waren großgeschrieben, überflüssige language-attribute usw.). Ich bin ausserdem immernoch unsicher, ob document.write überhaupt im Bereich verwendet werden darf/soll. Besser wäre die Einbindung per document.createElement();

Update: habe gerade nachgelesen: document.write() darf eigentlich nicht benutzt werden wenn XHTML als application/xhtml+xml vom Server versendet wird, was keinen betrifft, da IE application/xhtml+xml nicht unterstützt. (Allerdings, laut Spezifikation, _sollte_ XHTML als application/xhtml+xml verschickt werden). Von daher ist es empfehlenswert auf HTML5 umzustiegen, um zukünftige Javaskriptprobleme zu vermeiden. Siehe: [http://hixie.ch/advocacy/xhtml](http://hixie.ch/advocacy/xhtml)

Schöne Grüße

Dave[/QUOTE]  
So eng muss man das nicht sehen, dass das Script unbedingt im Header stehen muss…

Die Browser verstehen das auch, wenn man das in “thankyou.tpl” packt.

Der einzige, der wieder 'rumnölen wird, ist der “w3c-Validator”.

Und die “Standard-Junkies” natürlich.

Aber wen juckt das schon…

```auto
 [{if $oView->render() eq "thankyou.tpl"}]

```

halte ich übrigens für eine ganz schlechte Idee, da man damit den Render-Vorgang der kompletten Seite noch mal aufruft, nur um den Template-Namen zu erhalten…

Dafür gibt spezifischere und weniger resourcenfressende Abfragen, z.B.

```auto
[[{if $oViewConf->getActiveClassName()=='thankyou'}]

```

Aber wenn man den Code direkt in die “thankyou.tpl” packt, brauch man das ja nicht mehr abzufragen.

> habe gerade nachgelesen: document.write() darf eigentlich nicht benutzt werden wenn XHTML als application/xhtml+xml vom Server versendet wird  
> Und auch dieses “Problem” betrifft nur wieder XHTML-Validatoren…

Die Browser machen das schon, die sehen das nämlich auch nicht so eng mit den Standards…

Ich jedenfalls halte jede Sekunde, die man mit solchen Überlegungen verschwendet, nach wie vor für absolut vertane Zeit…

Wobei sich mir, bei genauerem Hinsehen, der Sinn dieses komplexen Yahoo-Javascripts, sowieso verschließt…

Folgende Struktur sollte eigentlich denselben Zweck erfüllen

```auto
<script type="text/javascript">
window.ysm_customData = new Object();
window.ysm_customData.conversion = "transId=,currency=,amount=";
var ysm_accountid = "mysecretyahooidgoeshere";
</script>
<script type="text/javascript" src="srv3.wa.marketingsolutions.yahoo.com/script/ScriptServlet?aid=mysecretyahooidgoeshere"></script>

```

Und schon ist man das unschöne “document.write” los…

---

<div class="post-metadata">

**Author:** ![csimon](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/c/53a042/32.png) [@csimon](https://forum.oxid-esales.com/u/csimon)\
**Post date:** [March 10, 2010, 8:32am UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/9 "2010-03-10T08:32:28Z")

</div>

> Die Browser machen das schon, die sehen das nämlich auch nicht so eng mit den Standards…

Bei Javascript schon 😉 so ein document.write an der falschen stelle kann ziemliche probleme verursachen. Javascript verstehen nämlich nicht alle Browser, der IE versteht nur JScript, welches glücklichweise JavaScript sehr ähnlich ist, aber sich teils unterschiedlich verhält.

---

<div class="post-metadata">

**Author:** ![david](https://forum.oxid-esales.com/letter_avatar_proxy/v4/letter/d/aeb1de/32.png) [@david](https://forum.oxid-esales.com/u/david)\
**Post date:** [March 11, 2010, 2:10pm UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/10 "2010-03-11T14:10:37Z")

</div>

> 

> ```php
> [[{if $oViewConf->getActiveClassName()=='thankyou'}]
> 
> ```

Noch besser! Danke. Das bauen wir so um.

Dave

---

<div class="post-metadata">

**Author:** ![system](https://forum.oxid-esales.com/user_avatar/forum.oxid-esales.com/system/32/4245_2.png) [@system](https://forum.oxid-esales.com/u/system)\
**Post date:** [July 13, 2026, 7:43pm UTC](https://forum.oxid-esales.com/t/wie-tracking-code-yahoo-search-marketing-einbinden/36973/11 "2026-07-13T19:43:52Z")

</div>


