Immer wieder liest man Fragen, warum man bei Facebook die Profilbesucher eigentlich nicht sehen kann.
Warum eine externe App das nicht tracken kann
Hier ist die Antwort recht simpel: Caching.
FBML-Seiten-Anfragen werden aus Performance- und Skalierungsgründen von Facebook gecached. Dadurch kommt die Anfrage gar nicht bis zum Server der App durch. Deshalb bekommt sie gar nicht mit, wer die Seite aufruft.
Bei iframe-Seiten kommt zwar die Anfrage zum Server durch, kann aber nicht zugeordnet werden. Hierzu bräuchte man die Facebook-User-ID und diese bekommt man erst, wenn der besuchende Benutzer die entsprechende Benutzerdatenfreigabe erteilt hat. Ist also auch nicht zuverlässig genug.