Ich beziehe mich auf das „Whitepaper E-Mail-Tool-Anbindung“. Dort heißt es auf Seite 8:
„Wir führen im Standard Daten wie die E-Mail-Adresse, den Vor- und Nachnamen und die Briefanrede mit. Bei Bedarf können auch weitere Felder übergeben werden (individuelle Anpassung).“
Wir möchten mit jedem Sync aus Combit mehr Felder übergeben, als die vier Standardfelder (namentlich Informationen über (Mailchimp-) Gruppen und (Mailchimp-) Tags). Wo lässt sich die Individualisierung der Parameter vornehmen?
…wir werden das in der Dokumentation zukünftig noch besser hervorheben.
Sie duplizieren also in der MailToolManagement.vbs eine der aufgeführten „Call“-Aufrufe und ändern im Duplikat dann den Feldnamen in den Parametern „stupide analog“. Ebenso eine Zeile aus der EmailToolAttributesMailchimp.txt
Für alle mit demselben Anliegen: Die Antwort bedarf einiger Ergänzungen. Es genügt leider nicht, in der Funktion „Function, die Werte eines Empfänger-Objektes ausliest“ (ab Zeile 8044) neue Zeilen hinzuzufügen wie im Bsp. „Language“ erläutert. Die verwendete Variable (im Bsp. sRecipientValueLanguage) muss zunächst definiert, vorbelegt und ausmaskiert werden. Das geschieht in der „Funktion, die einen Empfänger mit den Datensätzen der Ansicht „Kontakte“ in combit CRM abgleicht“ (Zeile 7555); beachten Sie dort die Kommentare zu den einzelnen Schritten. Für einen vollständigen Sync muss grundsätzlich jede verwendete Variable definiert sein und in allen Instanzen im Script ergänzt werden, für die ein Sync gewünscht ist.
Wir möchten mit jedem Sync aus Combit mehr Felder übergeben
Ich bin daher davon ausgegangen, dass diese Felder an das E-Mail-Tool zur Nutzung in den versendeten Nachrichten „übergeben“ werden sollte. Daher mein Beispiel mit „Language“.
In diesem Fall muss die „Abgleichfunktion“ nicht angefasst werden. Denn zusätzliche Felder sind i.d.R. kein Kriterium für die Suche nach einem schon vorhandenen Kontakt. Davon bin ich ausgegangen, denn Name, Vorname, E-Mail ist i.d.R. hinreichend eindeutig, um „den Kontakt“ zu finden. Demnach muss dort weder das Feld als Variable deklariert, noch sein Inhalt für SQL-Abfragen (zur Suche nach entsprechend dazu existierenden Datensätzen) maskiert werden. (Es müsste dann übrigens auch in der SQL-Abfrage überhaupt erstmal eingebaut werden.)
Da sich diese „zusätzlichen Felder“ auch seitens des E-Mail-Tools nicht ändern würden (wodurch auch?), und auch nicht bei einer Erstanmeldung vom Besucher im Webformular erfragt würden, ist eine Rückkopplung „E-Mail-Tool => combit CRM“ bei der Erstellung oder Aktualisierung eines combit CRM-Kontakte für solche zusätzlichen Felder ebenfalls nicht erforderlich.
Damit würde ich bei ursprünglichen meiner Antwort bleiben.
PS: Was meinen Sie mit „alle Instanzen im Script“?
danke für Ihre Rückmeldung. Ich bin nicht ganz sicher, ob wir evtl. aneinander vorbeireden. In meinem Post habe ich mich auf die Terminologie in der combit Doku bezogen „weitere Felder übergeben“. „Feld“ ist hier als ein Datenpunkt zu verstehen, z.B. „email“, den combit standardmäßig „mitführt“ bzw. „übergibt“. Wie immer man das nennt, im Ergebnis haben Sie im E-Mail-Tool eine befüllte Spalte „email“ in der Tabelle.
Uns reichen nun die Standarddatenpunkte nicht; wir möchten in der Tabelle im E-Mail-Tool z.B. eine Spalte „Business Activity“ aus combit befüllen; oder auch „Language“ (beide Felder gibt es in unserem combit).
Dies vorausgeschickt, reichen die von Ihnen vorgeschlagenen Anpassungen in dem Visual Basic Script nicht, um das Zielbild zu erfüllen. In Ihrem Beispiel ist die Variable „sRecipientValueLanguage“ weder definiert noch initialisiert; es gibt sie schlicht nicht. Daher kann sie auch nicht (mit Hilfe der Zuordnungsdatei „EmailToolAttributesMailchimp.txt“) mit einem Wert aus combit belegt werden, der dann an das E-Mail-Tool übergeben würde. Mein Post erläutert, an welchen Stellen die Variable definiert, initialisiert, maskiert wird, so dass sie von den Funktionen verarbeitet werden kann. Die Zeilennummern beziehen sich auf das mitgelieferte Originalscript.
Mit „alle Instanzen“ meine ich einfach nur, dass die selber definierte Variable für den custom param in alle Funktionen eingefügt werden muss, in denen sie aufgerufen werden soll.
Ich hoffe, ich konnte unseren Usecase deutlich machen. Korrigieren Sie mich gerne, wenn ich falsch liege. Ich bin kein Programmierer, sondern nur sehr tech savy Marketingexpert. Ich kann aber sagen, dass es mit den von mir beschriebenen Anpassungen läuft und wir einen Weg gefunden haben, die von uns gewünschten Datenpunkte an das E-Mail-Tool zu übergeben.
Wir werden es nochmal durchspielen. Ich melde mich wieder, aber geben Sie uns etwas Zeit, wir jonglieren gerade mit ziemlich vielen Fackeln und ich mag da ungern danebengreifen.
Ich hab Sie so verstanden, also hätten Sie für sich eine Lösung hinbekommen. Sonst bitte nochmals kurz melden, ich mag niemand hängen lassen.
(die doppelten Anführungszeichen um „sRecipientValueLanguage“ beachten)
2.) Und in EmailToolAttributesMailchimp.txt die Zuordnung des Mailchimp-Feldnamens und des combit CRM-Felds aus Sicht der Verteilerzuordnung-Ansicht eingetragen:
Andere Änderungen als die beiden o. a. sind und waren nicht notwendig, um ein weiteres combit CRM-Feld von Teilnehmerkontakten in einem E-Mailtool-Verteiler bereitzustellen/zu übergeben.
PS: für einen Rückweg in combit CRM, also eine neue oder geänderte Newsletteranmeldung in Mailchimp, bei der in Mailchimp durch den Abonnierenden auch dieses zusätzliche Feld (auf welchem Weg auch immer) ausgefüllt/geändert werden kann, ist noch eine weitere Anpassung erforderlich UPDATE: auch für den „Rückweg“ ist m. W. n. KEINE weitere Anpassung nötig. Sollte auch direkt „reinwärts“ nach combit CRM gehen.
danke, dass Sie sich der Sache noch einmal angenommen haben. Irgendwie habe ich das Script dann falsch verstanden, weil alle anderen Variablen ja weiter oben (ab Zeile 7555 - „Funktion, die einen Empfänger […] abgleicht’“) definiert werden. Zu meiner Entlastung muss ich allerdings sagen, dass die Ansage „Variablen definieren“ von unserem IT-Berater kam … Mir schien sie mit meinen bescheidenen PHP-Kenntnissen jedoch einleuchtend.
Wie auch immer, umso besser, dass es einfacher geht. In einer ruhigen Minute werde ich die Logik versuchen zu verstehen – und das Script werde ich vereinfachen.
Nur zur Sicherheit: meine Antwort war keinesfalls als Vorwurf gemeint.
Irgendwie habe ich das Script dann falsch verstanden, weil alle anderen Variablen ja weiter oben (ab Zeile 7555 - „Funktion, die einen Empfänger […] abgleicht’“) definiert werden.
In der Funktion geht es darum, ein „schon vorhandenen Kontakt“ im combit CRM zu finden, die Kriterien sind dafür genau die drei Felder E-Mail, Name, Vorname. Daher steckt hinter den drei Feldern in der Routine mehr Logik. Die sollte „eigentlich“ niemand anfassen müssen. Wir wollten aber den Code nicht „verstecken“, falls jemand eben „doch“ da unbedingt dran „muss“.
Alle einfach von A nach B und wieder zurück zu transferierten Felder werden über o.a. beide Stellen erweitert.