createTag fires before tag is selected

I am trying to create a person in my database when a tag is created and selected in the select2. The createTag is firing before I actually select the tag I am creating. Not sure if I am doing something wrong or not.

	ajax: {
		method: "GET",
		url: "https://SOMEURL",
		dataType: "json",
		processResults: function(data){
			return { results: $.map(data, function (obj){
				obj.text = obj.text ||;
				return obj;
			}) };
	tags: true,
	minimumInputLength: 3,
	createTag: function(params){
		var term = $.trim(params.term);

		if(term === ""){
			return null;

		var data = {
			name: "",
			emailAddress: "",
			cellPhone: "",
			note: ""

			data.cellPhone = term;
		} else if(term.includes("@")){
			data.emailAddress = term;
		} else { = term;

			method: "PUT",
			url: "https://SOMEURL",
			data: data
				return {
					text: term,
					newTag: true

I am having this same issue. createTag is firing on each keypress, shouldn’t it only fire when the user has selected the new tag?